private void GetPropertyState(PropertyInfo prop, ObjectState objState)
 {
     if (prop.PropertyType.IsSubclassOf(_self))
     {
         var value = prop.GetValue(this);
         objState.AddState(prop.Name, (ObjectState)value.GetType().GetMethod("GetState").Invoke(value, null));
     }
     else objState.AddProp(prop.Name, prop.GetValue(this));
 }