public CompressedStream( Stream baseStream, StreamOperationMode mode, CompressionSettings settings, bool useCrc32, EncryptionSettings encryptionSettings) : base(baseStream, mode) { baseStream = encryptionSettings != null ? (Stream) new CryptoStream(baseStream, mode, PlatformSettings.Manager.GetCryptoProvider(encryptionSettings)) : baseStream; ICompressionAlgorithm compressionAlgorithm = ZipHelper.GetCompressionAlgorithm(settings); IChecksumAlgorithm checksumAlgorithm = useCrc32 ? (IChecksumAlgorithm) new Crc32() : (IChecksumAlgorithm) new Adler32(); this.Initialize(baseStream, compressionAlgorithm, checksumAlgorithm); }