src/main/java/io/reactivex/Maybe.java
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T> Maybe<T> defer(final Callable<? extends MaybeSource<? extends T>> maybeSupplier) {
        ObjectHelper.requireNonNull(maybeSupplier, "maybeSupplier is null");
        return RxJavaPlugins.onAssembly(new MaybeDefer<T>(maybeSupplier));
    }
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T> Maybe<T> defer(final Callable<? extends MaybeSource<? extends T>> maybeSupplier) {
        ObjectHelper.requireNonNull(maybeSupplier, "maybeSupplier is null");
        return RxJavaPlugins.onAssembly(new MaybeDefer<T>(maybeSupplier));
    }
Calls a Callable for each individual MaybeObserver to return the actual MaybeSource source to
be subscribed to.
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code defer} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
@param <T> the value type
@param maybeSupplier the Callable that is called for each individual MaybeObserver and
returns a MaybeSource instance to subscribe to
@return the new Maybe instance