code: public static <T> Mono<T> fromFuture(CompletableFuture<? extends T> future) {
  		return onAssembly(new MonoCompletionStage<>(future));
  	}
docs: Create a {@link Mono}, producing its value using the provided {@link CompletableFuture}.
  
  <p>
  <img class="marble" src="doc-files/marbles/fromFuture.svg" alt="">
  <p>
  Note that the future is not cancelled when that Mono is cancelled, but that behavior
  can be obtained by using a {@link #doFinally(Consumer)} that checks
  for a {@link SignalType#CANCEL} and calls {@link CompletableFuture#cancel(boolean)}.
  
  @param future {@link CompletableFuture} that will produce a value (or a null to
  complete immediately)
  @param <T> type of the expected value
  @return A {@link Mono}.
  @see #fromCompletionStage(CompletionStage) fromCompletionStage for a generalization