code: private <T> void addEntry(StreamElementQueueEntry<T> streamElementQueueEntry) {
  		assert(lock.isHeldByCurrentThread());
  
  		queue.addLast(streamElementQueueEntry);
  
  		streamElementQueueEntry.onComplete(
  			(StreamElementQueueEntry<T> value) -> {
  				try {
  					onCompleteHandler(value);
  				} catch (InterruptedException e) {
  					// we got interrupted. This indicates a shutdown of the executor
  					LOG.debug("AsyncBufferEntry could not be properly completed because the " +
  						"executor thread has been interrupted.", e);
  				} catch (Throwable t) {
  					operatorActions.failOperator(new Exception("Could not complete the " +
  						"stream element queue entry: " + value + '.', t));
  				}
  			},
  			executor);
  	}
docs: Add the given {@link StreamElementQueueEntry} to the queue. Additionally, this method
  registers a onComplete callback which is triggered once the given queue entry is completed.
  
  @param streamElementQueueEntry to be inserted
  @param <T> Type of the stream element queue entry's result