private static boolean checkForCollisionAtTarget(Program program, Address testAddr) {

		boolean allowOffcutCode = PseudoDisassembler.hasLowBitCodeModeInAddrValues(program);
		// if the pointer is into the middle of code
		Instruction instr = program.getListing().getInstructionContaining(testAddr);
		if (instr == null) {
			return false;
		}
		// in the middle of an instruction
		if (isOffcutReference(testAddr, instr.getMinAddress(), allowOffcutCode)) {
			return true;
		}
		// instruction has a fall from
		if (instr.getFallFrom() != null) {
			return true;
		}
		// check in the middle of a function
		Function func = program.getFunctionManager().getFunctionContaining(testAddr);
		if (func != null && isOffcutReference(testAddr, func.getEntryPoint(), allowOffcutCode)) {
			// check all the references to this place, If they are all data
			// ptrs, and non-computed Jumps references
			// then it could be a shared Return routine. Let it go through
			ReferenceIterator referencesTo =
				program.getReferenceManager().getReferencesTo(testAddr);
			for (Reference reference : referencesTo) {
				RefType referenceType = reference.getReferenceType();
				if (referenceType.isData()) {
					return false;
				}
				if (referenceType.isJump() && !referenceType.isComputed()) {
					return false;
				}
			}
			return true;
		}

		return false;
	}
Check for collision or inconsistencies at the target address

@return true if there is some inconsistency where this shouldn't be
        considered a pointer
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/AddressTable.java