public sbyte PeekSByte()
        {
            NetException.Assert(m_bitLength - m_readPosition >= 8, c_readOverflowError);
            byte retval = NetBitWriter.ReadByte(m_data, 8, m_readPosition);

            return((sbyte)retval);
        }
        //
        // 1 bit
        //
        /// <summary>
        /// Reads a 1-bit Boolean without advancing the read pointer
        /// </summary>
        public bool PeekBoolean()
        {
            NetException.Assert(m_bitLength - m_readPosition >= 1, c_readOverflowError);
            byte retval = NetBitWriter.ReadByte(m_data, 1, m_readPosition);

            return(retval > 0 ? true : false);
        }
        /// <summary>
        /// Reads 1 to 8 bits into a byte
        /// </summary>
        public byte ReadByte(int numberOfBits)
        {
            NetException.Assert(numberOfBits > 0 && numberOfBits <= 8, "ReadByte(bits) can only read between 1 and 8 bits");
            byte retval = NetBitWriter.ReadByte(m_data, numberOfBits, m_readPosition);

            m_readPosition += numberOfBits;
            return(retval);
        }
        /// <summary>
        /// Reads the specified number of bits into a Byte without advancing the read pointer
        /// </summary>
        public byte PeekByte(int numberOfBits)
        {
            byte retval = NetBitWriter.ReadByte(m_data, numberOfBits, m_readPosition);

            return(retval);
        }