code: public static <F extends Future<Void>> Mono<Void> from(F future) {
  		if(future.isDone()){
  			if(!future.isSuccess()){
  				return Mono.error(future.cause());
  			}
  			return Mono.empty();
  		}
  		return new ImmediateFutureMono<>(future);
  	}
docs: Convert a {@link Future} into {@link Mono}. {@link Mono#subscribe(Subscriber)}
  will bridge to {@link Future#addListener(GenericFutureListener)}.
  
  @param future the future to convert from
  @param <F> the future type
  
  @return A {@link Mono} forwarding {@link Future} success or failure