private void SetTimer(IObservable <TTimeout> timeout, long idx) { var timeoutObserver = new TimeoutObserver(this, idx); if (Disposable.TrySetSerial(ref _timerDisposable, timeoutObserver)) { var d = timeout.Subscribe(timeoutObserver); timeoutObserver.SetResource(d); } }