private void OnTrackingEventsChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.NewItems != null) { foreach (var item in e.NewItems) { if (((IEventDefinition)item).EventType == Enums.EventType.UNKNOWN) { throw new ArgumentException("The UNKNOWN value is not allowed to set!"); } AddEventHandler(Element, EventDefinition.CastOrCreate((IEventDefinition)item), Element); } } if (e.OldItems != null) { foreach (var item in e.OldItems) { RemoveEventHandler(Element, EventDefinition.CastOrCreate((IEventDefinition)item)); } } }