ProgramLocation getProgramLocation(int y, int viewHeight, AddressIndexMap addrMap, int x) {
			for (MarkerSetImpl markers : IterableUtils.reversedIterable(markerSets)) {
				if (markers.isActive()) {
					ProgramLocation loc = markers.getProgramLocation(y, viewHeight, addrMap, x);
					if (loc != null) {
						return loc;
					}
				}
			}
			return null;
		}
Use this close listener approach instead of plugin events, since we don't get a
ProgramClosedPluginEvent when a trace view is closed, but we can listen for its
domain object closing, which works for plain programs, too.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/marker/MarkerManager.java