protected virtual void _UpdateObjectiveRegistration() { for (int i = 0; i < _registeredObjectives.Count; i++) { OrderObjective objective = _registeredObjectives[i]; if (!objectives.Contains(objective)) { objective.Unregister(); } } foreach (OrderObjective objective2 in objectives) { if (!_registeredObjectives.Contains(objective2)) { objective2.Register(this); _registeredObjectives.Add(objective2); } } }