public async Task <T> DeserializeAsync(Stream sourceStream) { // Implement a BridgeStream to automatically and lazily read from one when writing to another. // Try BufferedStream. using (var memoryStream = new MemoryStream()) { await _decryptor.ToDecryptedStreamAsync(sourceStream, memoryStream, _passphrase, _salt); memoryStream.Position = 0; return(await _serializer.DeserializeAsync(memoryStream)); } }