protected override async Task <IAsyncDisposable> SubscribeAsyncCore(IAsyncObserver <TSource> observer) { if (_disposable != null) { var d = await _disposable.GetDisposableAsync().ConfigureAwait(false); var s = await _subject.SubscribeAsync(observer).ConfigureAwait(false); return(StableCompositeAsyncDisposable.Create(d, s)); } return(await _subject.SubscribeAsync(observer).ConfigureAwait(false)); }