final void undo() throws IOException {

		checkLockingTask();

		synchronized (this) {
			if (getCurrentTransactionInfo() != null) {
				throw new IllegalStateException("Can not undo while transaction is open: " +
					getCurrentTransactionInfo().getDescription());
			}
			verifyNoLock();
			doUndo(true);
		}
	}
Returns the names of all redoable transactions in chronological order. In other words
the transaction at the top of the list must be redone first.
@return the names of all redoable transactions in chronological order
Ghidra/Framework/Project/src/main/java/ghidra/framework/data/AbstractTransactionManager.java