code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      public final Disposable subscribe(final BiConsumer<? super T, ? super Throwable> onCallback) {
          ObjectHelper.requireNonNull(onCallback, "onCallback is null");
  
          BiConsumerSingleObserver<T> observer = new BiConsumerSingleObserver<T>(onCallback);
          subscribe(observer);
          return observer;
      }
docs: Subscribes to a Single and provides a composite callback to handle the item it emits
  or any error 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 onCallback
  the callback that receives either the success value or the failure Throwable
  (whichever is not null)
  @return a {@link Disposable} reference can request the {@link Single} stop work.
  @see <a href="http://reactivex.io/documentation/operators/subscribe.html">ReactiveX operators documentation: Subscribe</a>
  @throws NullPointerException
  if {@code onCallback} is null