src/main/java/io/reactivex/Completable.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public final Completable delay(long delay, TimeUnit unit, Scheduler scheduler) {
        return delay(delay, unit, scheduler, false);
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public final Completable delay(long delay, TimeUnit unit, Scheduler scheduler) {
        return delay(delay, unit, scheduler, false);
    }
Returns a Completable which delays the emission of the completion event by the given time while
running on the specified scheduler.
<p>
<img width="640" height="313" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.delay.s.png" alt="">
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code delay} operates on the {@link Scheduler} you specify.</dd>
</dl>
@param delay the delay time
@param unit the delay unit
@param scheduler the scheduler to run the delayed completion on
@return the new Completable instance
@throws NullPointerException if unit or scheduler is null