code: public <T> Promise<T> sanitize(T value, Throwable e) {
  		if (isProcessComplete()) {
  			tryRecycle(value);
  			if (value instanceof Cancellable) {
  				((Cancellable) value).close(ASYNC_PROCESS_IS_COMPLETE);
  			}
  			return Promise.ofException(ASYNC_PROCESS_IS_COMPLETE);
  		}
  		if (e == null) {
  			return Promise.of(value);
  		} else {
  			close(e);
  			return Promise.ofException(e);
  		}
  	}
docs: Closes this process and returns a promise of {@code e}
  exception if provided {@code e} is not {@code null}.
  Otherwise, returns a promise of {@code value}. If the
  process was already completed, returns a promise of
  {@link #ASYNC_PROCESS_IS_COMPLETE} and recycles the
  provided {@code value}.
  
  @return a promise of {@code value} if {@code e} is
  {@code null} and {@code promise} of {@code e} exception
  otherwise. If the process was already completed,
  returns {@link #ASYNC_PROCESS_IS_COMPLETE}.