private void AddObjectToWatchList(object value, IEnumerable parentEnumerable = null) { if (value == null) { return; } lock (_objectValidationLock) { if (!_objectValidation.ContainsKey(value)) { var iNotifyPropertyChanged = value as INotifyPropertyChanged; if (iNotifyPropertyChanged != null) { iNotifyPropertyChanged.PropertyChanged += iNotifyPropertyChanged_PropertyChanged; } } } CheckObjectValidation(value, null, parentEnumerable); }