src/main/java/io/reactivex/Single.java
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Single<T> delaySubscription(CompletableSource other) {
        ObjectHelper.requireNonNull(other, "other is null");
        return RxJavaPlugins.onAssembly(new SingleDelayWithCompletable<T>(this, other));
    }
@CheckReturnValue
    @NonNull
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Single<T> delaySubscription(CompletableSource other) {
        ObjectHelper.requireNonNull(other, "other is null");
        return RxJavaPlugins.onAssembly(new SingleDelayWithCompletable<T>(this, other));
    }
Delays the actual subscription to the current Single until the given other CompletableSource
completes.
<p>If the delaying source signals an error, that error is re-emitted and no subscription
to the current Single happens.
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code delaySubscription} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
@param other the CompletableSource that has to complete before the subscription to the
current Single happens
@return the new Single instance
@since 2.0