code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      public static <T> Single<T> wrap(SingleSource<T> source) {
          ObjectHelper.requireNonNull(source, "source is null");
          if (source instanceof Single) {
              return RxJavaPlugins.onAssembly((Single<T>)source);
          }
          return RxJavaPlugins.onAssembly(new SingleFromUnsafeSource<T>(source));
      }
docs: Wraps a SingleSource instance into a new Single instance if not already a Single
  instance.
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code wrap} does not operate by default on a particular {@link Scheduler}.</dd>
  </dl>
  @param <T> the value type
  @param source the source to wrap
  @return the Single wrapper or the source cast to Single (if possible)