/// <summary>
        /// Compresses the inputBytes in Lzma
        /// </summary>
        /// <param name="inputBytes">bytes to compress</param>
        /// <returns>Compressed bytes</returns>
        public static byte[] Compress(byte[] inputBytes)
        {
            if (inputBytes != null)
            {
                MemoryStream inStream  = new MemoryStream(inputBytes);
                MemoryStream outStream = new MemoryStream();
                Unity3DDisassembler.Compression.LZMA.Encoder encoder = new Unity3DDisassembler.Compression.LZMA.Encoder();
                encoder.SetCoderProperties(propIDs, properties);
                encoder.WriteCoderProperties(outStream);
                long fileSize = inStream.Length;
                for (int i = 0; i < 8; i++)
                {
                    outStream.WriteByte((Byte)(fileSize >> (8 * i)));
                }
                encoder.Code(inStream, outStream, -1, -1, null);

                //Clear Memory
                inStream.Dispose();
                encoder = null;

                return(outStream.ToArray());
            }
            else
            {
                throw new ArgumentNullException("inputBytes", "inputBytes was null. :[");
            }
        }
        /// <summary>
        /// Compresses the inputBytes in Lzma
        /// </summary>
        /// <param name="inputBytes">bytes to compress</param>
        /// <returns>Compressed bytes</returns>
        public static byte[] Compress(byte[] inputBytes)
        {
            if (inputBytes != null)
            {
                MemoryStream inStream = new MemoryStream(inputBytes);
                MemoryStream outStream = new MemoryStream();
                Unity3DDisassembler.Compression.LZMA.Encoder encoder = new Unity3DDisassembler.Compression.LZMA.Encoder();
                encoder.SetCoderProperties(propIDs, properties);
                encoder.WriteCoderProperties(outStream);
                long fileSize = inStream.Length;
                for (int i = 0; i < 8; i++)
                    outStream.WriteByte((Byte)(fileSize >> (8 * i)));
                encoder.Code(inStream, outStream, -1, -1, null);

                //Clear Memory
                inStream.Dispose();
                encoder = null;

                return outStream.ToArray();
            }
            else
            {
                throw new ArgumentNullException("inputBytes", "inputBytes was null. :[");
            }
        }