public override bool DeSerialize(byte[] data, Pointer p) { base.DeSerialize(data, p); Remove = BitPacker.GetBool(data, p); PropertyBagId = new Guid(BitPacker.GetString(data, p)); int numProps = BitPacker.GetInt(data, p); Properties = new Property[numProps]; for (int i = 0; i < numProps; i++) { Properties[i] = BitPacker.GetProperty(data, p, null); } return(true); }