public void InsertChildTracker(ObjectStateContainer childStateManager)
 {
     if(!_childContainers.Contains(childStateManager))
     {
         _childContainers.Push(childStateManager);
     }
 }
 public void SetTarget(object document)
 {
     _parent = document;
     if (_parent != null)
     {
         _container = new ObjectStateContainer(this, _parent);
         _parentType = _parent.GetType();
         _properties = _parentType.GetProperties(BindingFlags.Instance | BindingFlags.Public);
     }
 }