internal void Redo(int count)
{
try
{
count = Math.Min(_redoStack.Count, count);
_state = TextUndoHistoryState.Redoing;
for (var i = 0; i < count; i++)
{
var current = _redoStack.Peek();
current.Do();
_redoStack.Pop();
_undoStack.Push(current);
}
RaiseUndoRedoHappened();
}
finally
{
_state = TextUndoHistoryState.Idle;
}
}