public void ReadFromStream(BinaryInputStream s, bool is_short_version = false)
        {
            List<Action<BinaryInputStream>> readers = new List<Action<BinaryInputStream>>();

            if (!is_short_version)
            {
                s.ReadBool(true);
            }

            int size = s.ReadInt32();
            for (int i = 0; i < size; ++i)
            {
                string n = s.ReadString();
                int t = s.ReadInt32();
                readers.Add(SetField(n, t));
            }
            foreach (var ac in readers)
            {
                ac(s);
            }
        }
 public void Read(BinaryInputStream s)
 {
     properties.ReadFromStream(s);
     code = s.ReadString();
 }