@@ -0,0 +1,1169 @@
+package seedu.todoList.logic.commands;%0A%0Aimport seedu.todoList.commons.core.EventsCenter;%0Aimport seedu.todoList.commons.core.Messages;%0Aimport seedu.todoList.commons.core.UnmodifiableObservableList;%0Aimport seedu.todoList.commons.events.ui.JumpToListRequestEvent;%0Aimport seedu.todoList.model.task.ReadOnlyTask;%0Aimport seedu.todoList.model.task.UniqueTaskList.TaskNotFoundException;%0A%0A/**%0A * Selects a task identified using it's last displayed index from the TodoList.%0A */%0Apublic class UndoCommand extends Command %7B%0A%0A    public static final String COMMAND_WORD = %22undo%22;%0A%0A    public static final String MESSAGE_USAGE = COMMAND_WORD%0A    %09%09+ %22: Undo the latest command. If there is no previous command, nothing will happen.%5Cn%22%0A            + %22Example: %22 + COMMAND_WORD;%0A%0A    public static final String MESSAGE_UNDO_SUCCESS = %22Sucessfully undone the latest task%22;%0A%0A    public UndoCommand() %7B%7D%0A%0A    @Override%0A    public CommandResult execute() %7B%0A        try %7B%0A            model.undoLatestCommand();%0A        %7D catch (Exception e) %7B%0A            assert false : %22There was no undoable command made before%22;%0A        %7D%0A%0A        return new CommandResult(MESSAGE_UNDO_SUCCESS);%0A    %7D%0A%0A%7D%0A

Make UndoCommand Skeleton