* In case an implementation is running out of resources, it can block the calling
* thread until enough resources become available to accept the notification for
* processing, or it is interrupted.
*
* In case an implementation is running out of resources, it can block the calling
* thread until enough resources become available to accept the notification for
* processing, or it is interrupted.
*