code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      public static <T> Single<T> fromObservable(ObservableSource<? extends T> observableSource) {
          ObjectHelper.requireNonNull(observableSource, "observableSource is null");
          return RxJavaPlugins.onAssembly(new ObservableSingleSingle<T>(observableSource, null));
      }
docs: Wraps a specific ObservableSource into a Single and signals its single element or error.
  <p>If the ObservableSource is empty, a NoSuchElementException is signalled.
  If the source has more than one element, an IndexOutOfBoundsException is signalled.
  <p>
  <img width="640" height="343" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.fromObservable.png" alt="">
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code fromObservable} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  
  @param observableSource the source Observable, not null
  @param <T>
  the type of the item emitted by the {@link Single}.
  @return the new Single instance