private void processNextTaskGroup() {
		if (runningGroup != null) {
			notifyGroupCompleted(runningGroup);
			runningGroup = null;
		}
		if (taskGroupList.isEmpty()) {
			closeTransaction();
			notBusy.signal();
			return;
		}

		GTaskGroup nextGroup = taskGroupList.removeFirst();
		prepareGroup(nextGroup);

	}
Cancels all scheduled groups and tasks. The TaskMonitor for
the currently running task will be cancelled, but the task will continue to run until it
checks the monitor.
Ghidra/Framework/Project/src/main/java/ghidra/framework/task/GTaskManager.java