internal AtomicGuiChangeBlock(ViewModel.ViewModelController controller, string description)
 {
     Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
     Controller = controller;
     Controller.BeginGuiChange();
     UndoUnit = new UndoRedo.ParentRecord(controller, description);
     controller.UndoManager.Open(UndoUnit);
 }
 internal GuiChangeBlock(ViewModel.ViewModelController controller)
 {
     Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
     Controller = controller;
     controller?.BeginGuiChange();
 }