private Stream BuildTransformationStream(Stream input, ChunkConfiguration configuration) { var streamChain = new InputStreamChainBuilder(); if (configuration.IsCompressed) { streamChain.Add(_compressionFactory.GetAlgorithm(configuration.CompressionOptions.Algorithm).CreateDecompressor()); } if (configuration.IsEncrypted) { streamChain.Add(_encryptionFactory.GetAlgorithm(configuration.EncryptionOptions, _configuration.Password)); } return(streamChain.CreateInputStream(input, true)); }