private void fixUpUnion(long id, Union union, int firstFixupIndex, int fixupCount,
			ArrayList<FixUpInfo> unresolvedFixups) {

		long lastChangeTime = union.getLastChangeTime(); // Don't let the time change.
		try {
			// Process all fixups for union
			int endIndex = firstFixupIndex + fixupCount;
			for (int i = firstFixupIndex; i < endIndex; i++) {
				FixUpInfo info = fixUpList.get(i); // assume info applies to union
				if (!fixUpUnionComponent(union, info)) {
					Msg.warn(this, "Union Merge: Failed to apply data type at ordinal " +
						info.index + " in " + union.getPathName());
					unresolvedFixups.add(info);
				}
			}
		}
		finally {
			union.setLastChangeTime(lastChangeTime); // Reset the last change time to the merged data type's.
		}
	}
Fix up the Union by going through all of the fix up info objects that
have the given ID.
@param id id of the Union
@param union union that is updated
@param firstFixupIndex first applicable fixupList entry index
@param fixupCount total number of fixup entries to be applied
@param unresolvedFixups list to which unprocessed fixups should be added
Ghidra/Features/Base/src/main/java/ghidra/app/merge/datatypes/DataTypeMergeManager.java