public void Undo()
        {
            if (!CanUndo())
            {
                throw new InvalidOperationException("Undo stack is empty.");
            }
            IMemento memento = m_UndoStack.Pop();

            m_TextBox.ApplyMemento(memento);
        }