public T Redo()
        {
            if (RedoList.Count == 0)
            {
                return(default(T));
            }

            var redoAction = RedoList.Pop();

            DoList.Push(redoAction);

            return(redoAction);
        }
 public void Do(T t)
 {
     DoList.Push(t);
     AdjustDoListOverMaxSteps();
     RedoList.Clear();
 }