@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T> Maybe<T> fromFuture(Future<? extends T> future) {
        ObjectHelper.requireNonNull(future, "future is null");
        return RxJavaPlugins.onAssembly(new MaybeFromFuture<T>(future, 0L, null));
    }
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T> Maybe<T> fromFuture(Future<? extends T> future) {
        ObjectHelper.requireNonNull(future, "future is null");
        return RxJavaPlugins.onAssembly(new MaybeFromFuture<T>(future, 0L, null));
    }
@ CheckReturnValue @ NonNull @ SchedulerSupport ( SchedulerSupport . NONE ) public static < T > Maybe < T > fromFuture ( Future < ? extends T > future ) { ObjectHelper . requireNonNull ( future , "future is null" ) ; return RxJavaPlugins . onAssembly ( new MaybeFromFuture < T > ( future , 0L , null ) ) ; }
Converts a {@link Future} into a Maybe, treating a null result as an indication of emptiness.
<p>
<img width="640" height="315" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/from.Future.png" alt="">
<p>
You can convert any object that supports the {@link Future} interface into a Maybe that emits the
return value of the {@link Future#get} method of that object, by passing the object into the {@code from}
method.
<p>
<em>Important note:</em> This Maybe is blocking; you cannot dispose it.
<p>
Unlike 1.x, disposing the Maybe won't cancel the future. If necessary, one can use composition to achieve the
cancellation effect: {@code futureMaybe.doOnDispose(() -> future.cancel(true));}.
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code fromFuture} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>

@param future
the source {@link Future}
@param <T>
the type of object that the {@link Future} returns, and also the type of item to be emitted by
the resulting Maybe
@return a Maybe that emits the item from the source {@link Future}
@see <a href="http://reactivex.io/documentation/operators/from.html">ReactiveX operators documentation: From</a>
Converts a { @link Future } into a Maybe treating a null result as an indication of emptiness . <p > <img width = 640 height = 315 src = https : // raw . github . com / wiki / ReactiveX / RxJava / images / rx - operators / from . Future . png alt = > <p > You can convert any object that supports the { @link Future } interface into a Maybe that emits the return value of the { @link Future#get } method of that object by passing the object into the { @code from } method . <p > <em > Important note : < / em > This Maybe is blocking ; you cannot dispose it . <p > Unlike 1 . x disposing the Maybe won t cancel the future . If necessary one can use composition to achieve the cancellation effect : { @code futureMaybe . doOnDispose (( ) - > future . cancel ( true )) ; } . <dl > <dt > <b > Scheduler : < / b > < / dt > <dd > { @code fromFuture } does not operate by default on a particular { @link Scheduler } . < / dd > < / dl >