private InjectPayload findPcodeInjection(Program prog, PcodeInjectLibrary snippetLibrary,
			long callOtherIndex) {
		InjectPayload payload = injectPayloadCache.get(callOtherIndex);

		// has a payload value for the pcode callother index
		if (payload != null) {
			return payload;
		}

		// value null, if contains the key, then already looked up
		if (injectPayloadCache.containsKey(callOtherIndex)) {
			return null;
		}

		String opName = prog.getLanguage().getUserDefinedOpName((int) callOtherIndex);

		// segment is special named injection
		if ("segment".equals(opName)) {
			payload =
				snippetLibrary.getPayload(InjectPayload.EXECUTABLEPCODE_TYPE, "segment_pcode");
		}
		else {
			payload = snippetLibrary.getPayload(InjectPayload.CALLOTHERFIXUP_TYPE, opName);
		}

		// save payload in cache for next lookup
		injectPayloadCache.put(callOtherIndex, payload);
		return payload;
	}
Check for pcode replacement for a callother pcode op

@param instr instruction whose pcodeop we might replace
@param ins input varnodes to callother pcodeop, ins[0] is callother nameindex
@param out output varnode for pcodeop
@return pcode that should replace callother, null otherwise
Ghidra/Features/Base/src/main/java/ghidra/program/util/SymbolicPropogator.java