public void ExecuteOn(int commandOnPosition) { if (PositionOutOfList(commandOnPosition, commandOnList)) { nullCommand.Execute(); lastCommand = nullCommand; lifoCommandList.Add(nullCommand); return; } commandOnList[commandOnPosition].Execute(); lastCommand = commandOffList[commandOnPosition]; lifoCommandList.Add(commandOnList[commandOnPosition]); }