public Task OpenAsync()
        {
            _stream = new FhirBlobDataStream(_uri, _credential)
            {
                ConcurrentCount = ConcurrentCount,
                BlockDownloadTimeoutInSeconds  = BlockDownloadTimeoutInSeconds,
                BlockDownloadTimeoutRetryCount = BlockDownloadTimeoutRetryCount
            };
            _reader = new StreamReader(_stream);

            return(Task.CompletedTask);
        }
        protected virtual void Dispose(bool disposing)
        {
            if (!disposedValue)
            {
                if (disposing)
                {
                    _reader?.Dispose();
                    _stream?.Dispose();
                }

                disposedValue = true;
                _stream       = null;
                _reader       = null;
            }
        }