public async ValueTask DisposeAsync() { if (!_disposed) { await _sourceStream.DisposeAsync().ConfigureAwait(false); _subscriptionScope?.Dispose(); _disposed = true; } }