public override void parseValue(string val)
 {
     m_id_and_name = parseIDAndName(val);
     val_parsed = true;
 }
        public void emitIDAndName(BinaryWriter bw,IDAndName val)
        {
            UnicodeEncoding uc_encoding = new UnicodeEncoding();
            byte [] uc_encoded_val = uc_encoding.GetBytes(val.Name);

            // the length of the string + the byte for the ID
            bw.Write((byte) (uc_encoded_val.Length + 1));
            // the ID
            bw.Write(val.ID);
            // the string.
            bw.Write(uc_encoded_val);
        }