private void UndoCmdExecuted(object sender, ExecutedRoutedEventArgs e)
        {
            var caretIndex = txtDocument.CaretIndex;
            var undoOp     = DocumentState.Undo(ref caretIndex);

            UpdateDocumentTextFromState();
            txtDocument.CaretIndex = caretIndex;
            SendOperation(undoOp);

            e.Handled = true;
        }