code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      public final Maybe<T> doOnDispose(Action onDispose) {
          return RxJavaPlugins.onAssembly(new MaybePeek<T>(this,
                  Functions.emptyConsumer(), // onSubscribe
                  Functions.emptyConsumer(), // onSuccess
                  Functions.emptyConsumer(), // onError
                  Functions.EMPTY_ACTION,    // onComplete
                  Functions.EMPTY_ACTION,    // (onSuccess | onError | onComplete) after
                  ObjectHelper.requireNonNull(onDispose, "onDispose is null")
          ));
      }
docs: Calls the shared {@code Action} if a MaybeObserver subscribed to the current Maybe
  disposes the common Disposable it received via onSubscribe.
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code doOnDispose} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  @param onDispose the action called when the subscription is disposed
  @throws NullPointerException if onDispose is null
  @return the new Maybe instance