protected override async Task <int> ReplayAsync(IScheduledAsyncObserver <T> observer)
            {
                var count = _values.Count;

                foreach (var value in _values)
                {
                    await observer.OnNextAsync(value.Value).ConfigureAwait(false);
                }

                return(count);
            }
            protected override async Task <int> ReplayAsync(IScheduledAsyncObserver <T> observer)
            {
                if (_hasValue)
                {
                    await observer.OnNextAsync(_value).ConfigureAwait(false);

                    return(1);
                }

                return(0);
            }