src/main/java/io/reactivex/Maybe.java
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <U> Maybe<T> timeout(MaybeSource<U> timeoutIndicator) {
        ObjectHelper.requireNonNull(timeoutIndicator, "timeoutIndicator is null");
        return RxJavaPlugins.onAssembly(new MaybeTimeoutMaybe<T, U>(this, timeoutIndicator, null));
    }
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <U> Maybe<T> timeout(MaybeSource<U> timeoutIndicator) {
        ObjectHelper.requireNonNull(timeoutIndicator, "timeoutIndicator is null");
        return RxJavaPlugins.onAssembly(new MaybeTimeoutMaybe<T, U>(this, timeoutIndicator, null));
    }
@ CheckReturnValue @ NonNull @ SchedulerSupport ( SchedulerSupport . NONE ) public final < U > Maybe < T > timeout ( MaybeSource < U > timeoutIndicator ) { ObjectHelper . requireNonNull ( timeoutIndicator , "timeoutIndicator is null" ) ; return RxJavaPlugins . onAssembly ( new MaybeTimeoutMaybe < T , U > ( this , timeoutIndicator , null ) ) ; }
If the current {@code Maybe} didn't signal an event before the {@code timeoutIndicator} {@link MaybeSource} signals, a
{@link TimeoutException} is signaled instead.
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code timeout} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
@param <U> the value type of the
@param timeoutIndicator the {@code MaybeSource} that indicates the timeout by signaling onSuccess
or onComplete.
@return the new Maybe instance
If the current {