src/main/java/io/reactivex/Flowable.java
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.SPECIAL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <R> Flowable<R> switchMapDelayError(Function<? super T, ? extends Publisher<? extends R>> mapper) {
        return switchMapDelayError(mapper, bufferSize());
    }
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.SPECIAL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <R> Flowable<R> switchMapDelayError(Function<? super T, ? extends Publisher<? extends R>> mapper) {
        return switchMapDelayError(mapper, bufferSize());
    }
Returns a new Publisher by applying a function that you supply to each item emitted by the source
Publisher that returns a Publisher, and then emitting the items emitted by the most recently emitted
of these Publishers and delays any error until all Publishers terminate.
<p>
The resulting Publisher completes if both the upstream Publisher and the last inner Publisher, if any, complete.
If the upstream Publisher signals an onError, the termination of the last inner Publisher will emit that error as is
or wrapped into a CompositeException along with the other possible errors the former inner Publishers signaled.
<p>
<img width="640" height="350" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMap.png" alt="">
<dl>
<dt><b>Backpressure:</b></dt>
<dd>The operator honors backpressure from downstream. The outer {@code Publisher} is consumed in an
unbounded manner (i.e., without backpressure) and the inner {@code Publisher}s are expected to honor
backpressure but it is not enforced; the operator won't signal a {@code MissingBackpressureException}
but the violation <em>may</em> lead to {@code OutOfMemoryError} due to internal buffer bloat.</dd>
<dt><b>Scheduler:</b></dt>
<dd>{@code switchMapDelayError} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>

@param <R> the element type of the inner Publishers and the output
@param mapper
a function that, when applied to an item emitted by the source Publisher, returns a
Publisher
@return a Flowable that emits the items emitted by the Publisher returned from applying {@code func} to the most recently emitted item emitted by the source Publisher
@see <a href="http://reactivex.io/documentation/operators/flatmap.html">ReactiveX operators documentation: FlatMap</a>
@since 2.0