docs: private <T> void addAsyncBufferEntry(StreamElementQueueEntry<T> streamElementQueueEntry) throws InterruptedException {
  		assert(Thread.holdsLock(checkpointingLock));
  
  		pendingStreamElementQueueEntry = streamElementQueueEntry;
  
  		while (!queue.tryPut(streamElementQueueEntry)) {
  			// we wait for the emitter to notify us if the queue has space left again
  			checkpointingLock.wait();
  		}
  
  		pendingStreamElementQueueEntry = null;
  	}