@Override
	public void dispose() {

		worker.dispose();
		if (currentProgram != null) {
			currentProgram.removeTransactionListener(transactionListener);
			currentProgram.removeListener(this);
		}

		tool.getProject().getProjectData().removeDomainFolderChangeListener(folderListener);

		if (updateManager != null) {
			updateManager.dispose();
			updateManager = null;
		}

		if (currentProgram != null) {
			disposeMarkerSets(currentProgram);
		}

		markerService = null;

		super.dispose();
	}
Manages the markers to display areas where changes have occurred
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/misc/MyProgramChangesDisplayPlugin.java