code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      public final Disposable subscribe(Consumer<? super T> onSuccess, Consumer<? super Throwable> onError,
              Action onComplete) {
          ObjectHelper.requireNonNull(onSuccess, "onSuccess is null");
          ObjectHelper.requireNonNull(onError, "onError is null");
          ObjectHelper.requireNonNull(onComplete, "onComplete is null");
          return subscribeWith(new MaybeCallbackObserver<T>(onSuccess, onError, onComplete));
      }
docs: Subscribes to a Maybe and provides callbacks to handle the items it emits and any error or
  completion notification it issues.
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code subscribe} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  
  @param onSuccess
  the {@code Consumer<T>} you have designed to accept a success value from the Maybe
  @param onError
  the {@code Consumer<Throwable>} you have designed to accept any error notification from the
  Maybe
  @param onComplete
  the {@code Action} you have designed to accept a completion notification from the
  Maybe
  @return a {@link Disposable} reference with which the caller can stop receiving items before
  the Maybe has finished sending them
  @throws NullPointerException
  if {@code onSuccess} is null, or
  if {@code onError} is null, or
  if {@code onComplete} is null
  @see <a href="http://reactivex.io/documentation/operators/subscribe.html">ReactiveX operators documentation: Subscribe</a>