/// <summary>
        /// Read an unsigned 48bit value based on the current stream and bit position
        /// </summary>
        public UInt48 ReadUInt48()
        {
            byte[] bytes = ReadBytes(48);
            Array.Resize(ref bytes, 8);
            UInt48 value = BitConverter.ToUInt64(bytes, 0);

            return(value);
        }
 /// <summary>
 /// Write an unsigned 48bit value based on the current stream and bit position
 /// </summary>
 public void WriteUInt48(UInt48 value)
 {
     WriteBytes(BitConverter.GetBytes((ulong)value), 48);
 }