src/main/java/io/reactivex/observables/ConnectableObservable.java
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public final Observable<T> refCount(long timeout, TimeUnit unit, Scheduler scheduler) {
        return refCount(1, timeout, unit, scheduler);
    }
@CheckReturnValue
    @SchedulerSupport(SchedulerSupport.CUSTOM)
    public final Observable<T> refCount(long timeout, TimeUnit unit, Scheduler scheduler) {
        return refCount(1, timeout, unit, scheduler);
    }
Connects to the upstream {@code ConnectableObservable} if the number of subscribed
subscriber reaches 1 and disconnect after the specified
timeout if all subscribers have unsubscribed.
<dl>
<dt><b>Scheduler:</b></dt>
<dd>This {@code refCount} overload operates on the specified {@link Scheduler}.</dd>
</dl>
<p>History: 2.1.14 - experimental
@param timeout the time to wait before disconnecting after all subscribers unsubscribed
@param unit the time unit of the timeout
@param scheduler the target scheduler to wait on before disconnecting
@return the new Observable instance
@since 2.2