public IAsyncEnumerator <T> GetAsyncEnumerator(CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequested(); return(new SinkQueueAsyncEnumerator <T>(_source .Via(cancellationToken.AsFlow <T>(cancelGracefully: true)) .ViaMaterialized(KillSwitches.Single <T>(), Keep.Right) .ToMaterialized(thisSinkQueue, Keep.Both) .Run(_materializer), cancellationToken)); }