DataType getResultDataType(long dtID, Program fromProgram) {
		DataType dt = null;
		if (fromProgram == programs[MY]) {
			dt = myResolvedDts.get(dtID);
			if (dt == null) {
				dt = programs[RESULT].getDataTypeManager().getDataType(dtID);
			}
		}
		else if (fromProgram == programs[LATEST]) {
			dt = latestResolvedDts.get(dtID);
			if (dt == null) {
				dt = programs[RESULT].getDataTypeManager().getDataType(dtID);
			}
		}
		else if (fromProgram == programs[ORIGINAL]) {
			dt = origResolvedDts.get(dtID);
		}
		else if (fromProgram == programs[RESULT]) {
			dt = programs[RESULT].getDataTypeManager().getDataType(dtID);
		}
		if (dt == null) {
			dt = fromProgram.getDataTypeManager().getDataType(dtID);
		}
		return dt;
	}
Given a program and the ID of a datatype from that program, this method returns the
associated data type in the Result program.
@param dtID the ID of the data type in the "fromProgram".
@param fromProgram the program that contains the data type with the specified ID.
@return the associated data type in the Result program.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/AbstractFunctionMerger.java