/// <summary>
        /// Deletes a stream from the default bucket.
        /// </summary>
        /// <param name="persistStreams">The IPersistStreams instance.</param>
        /// <param name="streamId">The stream id to be deleted.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        public static Task DeleteStreamAsync(this IPersistStreams persistStreams, string streamId, CancellationToken cancellationToken)
        {
            if (persistStreams == null)
            {
                throw new ArgumentNullException(nameof(persistStreams));
            }

            return(persistStreams.DeleteStreamAsync(Bucket.Default, streamId, cancellationToken));
        }
        public async Task DeleteStreamAsync(string bucketId, string streamId, CancellationToken cancellationToken)
        {
            await _original
            .DeleteStreamAsync(bucketId, streamId, cancellationToken)
            .ConfigureAwait(false);

            foreach (var pipelineHook in _pipelineHooks)
            {
                await pipelineHook
                .OnDeleteStreamAsync(bucketId, streamId, cancellationToken)
                .ConfigureAwait(false);
            }
        }
 public Task DeleteStreamAsync(string bucketId, string streamId, CancellationToken cancellationToken)
 {
     return(_persistence.DeleteStreamAsync(bucketId, streamId, cancellationToken));
 }