public void BeginEdit()
 {
     if (this.restorePointToken == null)
     {
         this.restorePointToken = this.privateTracker.AddRestorePoint();
     }
 }
 public void CancelEdit()
 {
     if (this.restorePointToken != null)
     {
         this.privateTracker.UndoTo(this.restorePointToken);
         this.restorePointToken = null;
     }
 }
 public void EndEdit()
 {
     this.restorePointToken = null;
 }
        public static void RedoTo(object trackedObject, RestorePointToken token)
        {
            ITrackedObject to = CheckObject(trackedObject);

            ((AggregateTracker)to.Tracker).RedoTo(token);
        }
        public static bool RestorePointExists(object trackedObject, RestorePointToken restorePoint)
        {
            ITrackedObject to = CheckObject(trackedObject);

            return(((AggregateTracker)to.Tracker).RestorePointExists(restorePoint));
        }