src/main/java/io/reactivex/Flowable.java
@CheckReturnValue
    @NonNull
    @BackpressureSupport(BackpressureKind.NONE)
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T> Flowable<T> unsafeCreate(Publisher<T> onSubscribe) {
        ObjectHelper.requireNonNull(onSubscribe, "onSubscribe is null");
        if (onSubscribe instanceof Flowable) {
            throw new IllegalArgumentException("unsafeCreate(Flowable) should be upgraded");
        }
        return RxJavaPlugins.onAssembly(new FlowableFromPublisher<T>(onSubscribe));
    }
@CheckReturnValue
    @NonNull
    @BackpressureSupport(BackpressureKind.NONE)
    @SchedulerSupport(SchedulerSupport.NONE)
    public static <T> Flowable<T> unsafeCreate(Publisher<T> onSubscribe) {
        ObjectHelper.requireNonNull(onSubscribe, "onSubscribe is null");
        if (onSubscribe instanceof Flowable) {
            throw new IllegalArgumentException("unsafeCreate(Flowable) should be upgraded");
        }
        return RxJavaPlugins.onAssembly(new FlowableFromPublisher<T>(onSubscribe));
    }
@ CheckReturnValue @ NonNull @ BackpressureSupport ( BackpressureKind . NONE ) @ SchedulerSupport ( SchedulerSupport . NONE ) public static < T > Flowable < T > unsafeCreate ( Publisher < T > onSubscribe ) { ObjectHelper . requireNonNull ( onSubscribe , "onSubscribe is null" ) ; if ( onSubscribe instanceof Flowable ) { throw new IllegalArgumentException ( "unsafeCreate(Flowable) should be upgraded" ) ; } return RxJavaPlugins . onAssembly ( new FlowableFromPublisher < T > ( onSubscribe ) ) ; }
Create a Flowable by wrapping a Publisher <em>which has to be implemented according
to the Reactive-Streams specification by handling backpressure and
cancellation correctly; no safeguards are provided by the Flowable itself</em>.
<dl>
<dt><b>Backpressure:</b></dt>
<dd>This operator is a pass-through for backpressure and the behavior is determined by the
provided Publisher implementation.</dd>
<dt><b>Scheduler:</b></dt>
<dd>{@code unsafeCreate} by default doesn't operate on any particular {@link Scheduler}.</dd>
</dl>
@param <T> the value type emitted
@param onSubscribe the Publisher instance to wrap
@return the new Flowable instance
@throws IllegalArgumentException if {@code onSubscribe} is a subclass of {@code Flowable}; such
instances don't need conversion and is possibly a port remnant from 1.x or one should use {@link #hide()}
instead.
Create a Flowable by wrapping a Publisher <em > which has to be implemented according to the Reactive - Streams specification by handling backpressure and cancellation correctly ; no safeguards are provided by the Flowable itself< / em > . <dl > <dt > <b > Backpressure : < / b > < / dt > <dd > This operator is a pass - through for backpressure and the behavior is determined by the provided Publisher implementation . < / dd > <dt > <b > Scheduler : < / b > < / dt > <dd > {