private ProgramAddress findInOtherProgram(Program program, String className,
			String prototype, String methodName, TaskMonitor monitor)
			throws CancelledException, IOException, MemoryAccessException {

		ClassMethodPrototype cmp =
			new ClassMethodPrototype(className, methodName, prototype);

		for (Program otherProgram : programs) {
			monitor.checkCancelled();

			if (otherProgram.equals(program)) {
				continue;
			}

			DexHeader otherDexHeader = dexMap.get(otherProgram);

			Map<ClassMethodPrototype, Integer> map = cmpMap.get(otherDexHeader);

			Integer otherMethodIndex = map.get(cmp);

			if (otherMethodIndex != null) {
				Address otherAddress = DexUtil.toLookupAddress(program, otherMethodIndex);

				if (otherProgram.getMemory().getInt(otherAddress) != -1) {
					return new ProgramAddress(otherProgram, otherAddress);
				}
			}
		}
		return null;
	}
Links multidex APKs together
via the "method_lookup" section using
external references.
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/android/multidex/MultiDexLinker.java