private Stream GetDataDecompressor(Stream compressedStreamToRead) { Stream uncompressedStream = null; switch (CompressionMethod) { case CompressionMethodValues.Deflate: uncompressedStream = new DeflateStream(compressedStreamToRead, CompressionMode.Decompress); break; case CompressionMethodValues.Deflate64: uncompressedStream = new DeflateManagedStream(compressedStreamToRead, CompressionMethodValues.Deflate64); break; case CompressionMethodValues.Stored: default: //we can assume that only deflate/deflate64/stored are allowed because we assume that //IsOpenable is checked before this function is called Debug.Assert(CompressionMethod == CompressionMethodValues.Stored); uncompressedStream = compressedStreamToRead; break; } return uncompressedStream; }