src/main/java/io/reactivex/Maybe.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Maybe<T> doOnEvent(BiConsumer<? super T, ? super Throwable> onEvent) {
        ObjectHelper.requireNonNull(onEvent, "onEvent is null");
        return RxJavaPlugins.onAssembly(new MaybeDoOnEvent<T>(this, onEvent));
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Maybe<T> doOnEvent(BiConsumer<? super T, ? super Throwable> onEvent) {
        ObjectHelper.requireNonNull(onEvent, "onEvent is null");
        return RxJavaPlugins.onAssembly(new MaybeDoOnEvent<T>(this, onEvent));
    }
Calls the given onEvent callback with the (success value, null) for an onSuccess, (null, throwable) for
an onError or (null, null) for an onComplete signal from this Maybe before delivering said
signal to the downstream.
<p>
Exceptions thrown from the callback will override the event so the downstream receives the
error instead of the original signal.
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code doOnEvent} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
@param onEvent the callback to call with the terminal event tuple
@return the new Maybe instance