/// <summary>
        /// Get Literal
        /// </summary>
        /// <param name="literalBitCount">the bits count literal used</param>
        private void GetLiteralFromRemain(LiteralBitSize literalBitCount)
        {
            uint adding = 0;

            if (literalBitCount == LiteralBitSize.MoreThanHex7f)
            {
                adding = (uint)LiteralAdding.MoreThanHex7f;
            }
            remainBitsCount -= (int)literalBitCount;
            literal          = ((remain >> remainBitsCount) & 0xff) + adding;
            //elimate the decoded bits
            remain = remain & (uint)((1 << remainBitsCount) - 1);
        }
 /// <summary>
 /// Get Literal
 /// </summary>
 /// <param name="literalBitCount">the bits count literal used</param>
 private void GetLiteralFromRemain(LiteralBitSize literalBitCount)
 {
     uint adding = 0;
     if (literalBitCount == LiteralBitSize.MoreThanHex7f)
     {
         adding = (uint)LiteralAdding.MoreThanHex7f;
     }
     remainBitsCount -= (int)literalBitCount;
     literal = ((remain >> remainBitsCount) & 0xff) + adding;
     //elimate the decoded bits
     remain = remain & (uint)((1 << remainBitsCount) - 1);
 }