src/main/java/io/reactivex/Flowable.java
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <U, V> Flowable<T> delay(Publisher<U> subscriptionIndicator,
            Function<? super T, ? extends Publisher<V>> itemDelayIndicator) {
        return delaySubscription(subscriptionIndicator).delay(itemDelayIndicator);
    }
@CheckReturnValue
    @BackpressureSupport(BackpressureKind.FULL)
    @SchedulerSupport(SchedulerSupport.NONE)
    public final <U, V> Flowable<T> delay(Publisher<U> subscriptionIndicator,
            Function<? super T, ? extends Publisher<V>> itemDelayIndicator) {
        return delaySubscription(subscriptionIndicator).delay(itemDelayIndicator);
    }
Returns a Flowable that delays the subscription to and emissions from the source Publisher via another
Publisher on a per-item basis.
<p>
<img width="640" height="450" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/delay.oo.png" alt="">
<p>
<em>Note:</em> the resulting Publisher will immediately propagate any {@code onError} notification
from the source Publisher.
<dl>
<dt><b>Backpressure:</b></dt>
<dd>The operator doesn't interfere with the backpressure behavior which is determined by the source {@code Publisher}.
All of the other {@code Publisher}s supplied by the functions are consumed
in an unbounded manner (i.e., no backpressure applied to them).</dd>
<dt><b>Scheduler:</b></dt>
<dd>This version of {@code delay} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>

@param <U>
the subscription delay value type (ignored)
@param <V>
the item delay value type (ignored)
@param subscriptionIndicator
a function that returns a Publisher that triggers the subscription to the source Publisher
once it emits any item
@param itemDelayIndicator
a function that returns a Publisher for each item emitted by the source Publisher, which is
then used to delay the emission of that item by the resulting Publisher until the Publisher
returned from {@code itemDelay} emits an item
@return a Flowable that delays the subscription and emissions of the source Publisher via another
Publisher on a per-item basis
@see <a href="http://reactivex.io/documentation/operators/delay.html">ReactiveX operators documentation: Delay</a>