/// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="owner">Instancia do proprietário.</param>
 /// <param name="collection">Coleção que será monitorada.</param>
 /// <param name="collectionIndex">Indice da coleção no pai.</param>
 public ChildMonitor(AggregateObservableCollection <T> owner, IObservableCollection <T> collection, int collectionIndex)
 {
     _owner                        = owner;
     _collection                   = collection;
     _collectionIndex              = collectionIndex;
     collection.CollectionChanged += CollectionCollectionChanged;
     collection.PropertyChanged   += CollectionPropertyChanged;
 }
 /// <summary>
 /// Construtor padrão.
 /// </summary>
 /// <param name="owner"></param>
 public ReentracyMonitor(AggregateObservableCollection <T> owner)
 {
     _owner = owner;
     lock (_owner._reentrancyThreads)
         _owner._reentrancyThreads.Add(System.Threading.Thread.CurrentThread);
 }