src/main/java/io/reactivex/Observable.java
@BackpressureSupport(BackpressureKind.SPECIAL)
    @CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Flowable<T> toFlowable(BackpressureStrategy strategy) {
        Flowable<T> f = new FlowableFromObservable<T>(this);

        switch (strategy) {
            case DROP:
                return f.onBackpressureDrop();
            case LATEST:
                return f.onBackpressureLatest();
            case MISSING:
                return f;
            case ERROR:
                return RxJavaPlugins.onAssembly(new FlowableOnBackpressureError<T>(f));
            default:
                return f.onBackpressureBuffer();
        }
    }
@BackpressureSupport(BackpressureKind.SPECIAL)
    @CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Flowable<T> toFlowable(BackpressureStrategy strategy) {
        Flowable<T> f = new FlowableFromObservable<T>(this);

        switch (strategy) {
            case DROP:
                return f.onBackpressureDrop();
            case LATEST:
                return f.onBackpressureLatest();
            case MISSING:
                return f;
            case ERROR:
                return RxJavaPlugins.onAssembly(new FlowableOnBackpressureError<T>(f));
            default:
                return f.onBackpressureBuffer();
        }
    }
Converts the current Observable into a Flowable by applying the specified backpressure strategy.
<p>
Marble diagrams for the various backpressure strategies are as follows:
<ul>
<li>{@link BackpressureStrategy#BUFFER}
<p>
<img width="640" height="274" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.buffer.png" alt="">
</li>
<li>{@link BackpressureStrategy#DROP}
<p>
<img width="640" height="389" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.drop.png" alt="">
</li>
<li>{@link BackpressureStrategy#LATEST}
<p>
<img width="640" height="296" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.latest.png" alt="">
</li>
<li>{@link BackpressureStrategy#ERROR}
<p>
<img width="640" height="380" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.error.png" alt="">
</li>
<li>{@link BackpressureStrategy#MISSING}
<p>
<img width="640" height="411" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.missing.png" alt="">
</li>
</ul>
<dl>
<dt><b>Backpressure:</b></dt>
<dd>The operator applies the chosen backpressure strategy of {@link BackpressureStrategy} enum.</dd>
<dt><b>Scheduler:</b></dt>
<dd>{@code toFlowable} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>

@param strategy the backpressure strategy to apply
@return the new Flowable instance