bool IUndoEngineOperations.RedoCore()
        {
            bool succeeded = false;

            if (redoBuffer.Count > 0)
            {
                UndoUnit unitToRedo = redoBuffer.Last();
                redoBuffer.RemoveAt(redoBuffer.Count - 1);
                unitToRedo.Redo();
                undoBuffer.Add(unitToRedo);
                NotifyRedoExecuted(unitToRedo);
                succeeded = true;
            }
            return(succeeded);
        }
            bool IUndoEngineOperations.RedoCore()
            {
                //if there is anything to redo
                bool succeeded = false;

                if (this.containerUndoUnit.RedoList.Count > 0)
                {
                    //get first element to redo
                    UndoUnit unitToRedo = this.containerUndoUnit.RedoList.First();
                    //remove it
                    this.containerUndoUnit.RedoList.RemoveAt(0);
                    //redo it
                    unitToRedo.Redo();
                    //add it to the end of undo list
                    this.containerUndoUnit.DoList.Add(unitToRedo);
                    succeeded = true;
                }
                return(succeeded);
            }