code: @SchedulerSupport(SchedulerSupport.NONE)
      public final void safeSubscribe(Observer<? super T> observer) {
          ObjectHelper.requireNonNull(observer, "s is null");
          if (observer instanceof SafeObserver) {
              subscribe(observer);
          } else {
              subscribe(new SafeObserver<T>(observer));
          }
      }
docs: Subscribes to the current Observable and wraps the given Observer into a SafeObserver
  (if not already a SafeObserver) that
  deals with exceptions thrown by a misbehaving Observer (that doesn't follow the
  Reactive-Streams specification).
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code safeSubscribe} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  @param observer the incoming Observer instance
  @throws NullPointerException if s is null