docs: protected <T> TypedResult<T> handleMissingResult() {
  		// check if the monitoring thread is still there
  		// we need to wait until we know what is going on
  		if (monitoringThread.isAlive()) {
  			return TypedResult.empty();
  		}
  		// the job finished with an exception
  		else if (executionException != null) {
  			throw executionException;
  		}
  		// we assume that a bounded job finished
  		else {
  			return TypedResult.endOfStream();
  		}
  	}