              if (dispatcher != null && dispatcher.CheckAccess() == false)                 {                     dispatcher.Invoke(DispatcherPriority.DataBind, (Action)(() => this.OnCollectionChanged(e)));                 }                 else                 {                     lock (this.lockObject)                     {                             foreach (NotifyCollectionChangedEventHandler nh in eh.GetInvocationList())                             {                                 