/// <summary> /// Updates the items, calling <see cref="CreateDescriptor(T)"/> /// for each <see cref="IsValid"/> item in <paramref name="sourceItems"/>. /// </summary> protected virtual void UpdateProperties(IEnumerable <T> sourceItems, ICollection <IPropertyItemDescriptor <T> > targetList) { eventfilter.Cancel(); targetList.Clear(); foreach (T o in sourceItems) { if (IsValid(o)) { targetList.Add(CreateDescriptor(o)); } } }