void navigateTo(Navigatable navigatable, Program program, int x, int y, int viewHeight,
			AddressIndexMap addrMap) {
		MarkerSetCacheEntry entry = markerSetCache.get(program);
		if (entry == null) {
			return; // this can happen when no program is open
		}

		ProgramLocation loc = entry.getProgramLocation(y, viewHeight, addrMap, x);
		getGoToService();
		if (loc != null && goToService != null) {
			goToService.goTo(navigatable, loc, loc.getProgram());
		}
	}
Buffers requests to repaint and notify of marker changes
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/marker/MarkerManager.java