src/main/java/io/reactivex/Single.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Single<T> onTerminateDetach() {
        return RxJavaPlugins.onAssembly(new SingleDetach<T>(this));
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.NONE)
    public final Single<T> onTerminateDetach() {
        return RxJavaPlugins.onAssembly(new SingleDetach<T>(this));
    }
Nulls out references to the upstream producer and downstream SingleObserver if
the sequence is terminated or downstream calls dispose().
<dl>
<dt><b>Scheduler:</b></dt>
<dd>{@code onTerminateDetach} does not operate by default on a particular {@link Scheduler}.</dd>
</dl>
<p>History: 2.1.5 - experimental
@return a Single which nulls out references to the upstream producer and downstream SingleObserver if
the sequence is terminated or downstream calls dispose()
@since 2.2