public override async Task <AsyncDisposableValue <Stream> > OpenWriteAsync(CancellationToken cancellationToken = new CancellationToken())
        {
            var stream = new MemoryStream(InitialCapacity);

            return(new AsyncDisposableValue <Stream>(stream, async() =>
            {
                stream.Seek(0, SeekOrigin.Begin);
                await BlockBlob.UploadFromStreamAsync(stream, cancellationToken);
            }));
        }