/// <summary>
 /// This ends the undo tracking - the user is responsible for adding the operations
 /// to the undo manager if they are to be tracked.
 /// </summary>
 public void EndDeferredTracking()
 {
     _trackedUndoSet = null;
 }
 /// <summary>
 /// This starts collecting the undo operations in a deferred list so they can be applied as a group.
 /// </summary>
 /// <param name="undoSet">Undo set to use</param>
 public void BeginDeferredTracking(UndoOperationSet undoSet)
 {
     _trackedUndoSet = undoSet;
 }