private boolean checkExternalThunkFunctionReference(Navigatable navigatable, CodeUnit codeUnit,
			OperandFieldLocation loc, GoToService goToService) {

		Address refAddr = loc.getRefAddress();
		if (refAddr == null) {
			return false;
		}

		Program program = codeUnit.getProgram();
		Symbol s = program.getSymbolTable().getPrimarySymbol(refAddr);
		if (s == null) {
			return false;
		}

		SymbolType type = s.getSymbolType();
		if (type != SymbolType.FUNCTION) {
			return false;
		}

		Function refFunction = (Function) s.getObject();
		Function thunked = refFunction.getThunkedFunction(true);
		if (thunked == null) {
			return false;
		}

		if (thunked.getBody().contains(codeUnit.getAddress())) {
			// this handles the unlikely case where the user double-clicks a reference to a 
			// local thunk label--don't navigate externally
			return false;
		}

		Symbol thunkedSymbol = thunked.getSymbol();
		ExternalLocation extLoc = program.getExternalManager().getExternalLocation(thunkedSymbol);
		boolean success = goToService.goToExternalLocation(extLoc, true);
		return success;
	}
A handler to process {@link OperandFieldLocation} mouse clicks.
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/OperandFieldMouseHandler.java