public override void Undo (TextDocument doc)
{
doc.currentAtomicUndoOperationType.Push (operationType);
for (int i = operations.Count - 1; i >= 0; i--) {
operations [i].Undo (doc);
doc.OnUndone (new UndoOperationEventArgs (operations[i]));
}
doc.currentAtomicUndoOperationType.Pop ();
OnUndoDone ();
}