protected virtual void Initialize( GameRulesBase rules, JObject data ) { if ( data == null ) throw new ArgumentNullException( "data" ); Guid = (Guid) data.GuidValue( "ID" ); Data = (JObject) data.DeepClone(); }