src/main/java/io/reactivex/Single.java
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T> Single<T> unsafeCreate(SingleSource<T> onSubscribe) {
        ObjectHelper.requireNonNull(onSubscribe, "onSubscribe is null");
        if (onSubscribe instanceof Single) {
            throw new IllegalArgumentException("unsafeCreate(Single) should be upgraded");
        }
        return RxJavaPlugins.onAssembly(new SingleFromUnsafeSource<T>(onSubscribe));
    }
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T> Single<T> unsafeCreate(SingleSource<T> onSubscribe) {
        ObjectHelper.requireNonNull(onSubscribe, "onSubscribe is null");
        if (onSubscribe instanceof Single) {
            throw new IllegalArgumentException("unsafeCreate(Single) should be upgraded");
        }
        return RxJavaPlugins.onAssembly(new SingleFromUnsafeSource<T>(onSubscribe));
    }
@ CheckReturnValue @ NonNull @ SchedulerSupport ( SchedulerSupport . NONE ) public static < T > Single < T > unsafeCreate ( SingleSource < T > onSubscribe ) { ObjectHelper . requireNonNull ( onSubscribe , "onSubscribe is null" ) ; if ( onSubscribe instanceof Single ) { throw new IllegalArgumentException ( "unsafeCreate(Single) should be upgraded" ) ; } return RxJavaPlugins . onAssembly ( new SingleFromUnsafeSource < T > ( onSubscribe ) ) ; }
<strong>Advanced use only:</strong> creates a Single instance without
any safeguards by using a callback that is called with a SingleObserver.
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code unsafeCreate} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
@param <T> the value type
@param onSubscribe the function that is called with the subscribing SingleObserver
@return the new Single instance
@throws IllegalArgumentException if {@code source} is a subclass of {@code Single}; such
instances don't need conversion and is possibly a port remnant from 1.x or one should use {@link #hide()}
instead.
@since 2.0
<strong > Advanced use only : < / strong > creates a Single instance without any safeguards by using a callback that is called with a SingleObserver . <dl > <dt > <b > Scheduler : < / b > < / dt > <dd > {