private DataType processConflictQueue(DataType dataType) {

		while (!conflictQueue.isEmpty()) {

			// Process last conflict first (LIFO) to ensure conflicts with larger
			// numbers are discarded first if applicable - although unlikely to occur
			// during the same resolve-cycle.
			DataType dt = conflictQueue.removeLast();

			List<DataType> relatedByName = findDataTypesSameLocation(dt);
			for (DataType candidate : relatedByName) {
				if (candidate != dt && DataTypeDB.isEquivalent(candidate, dt,
					DataTypeConflictHandler.DEFAULT_HANDLER)) {
					try {
						replace(dt, candidate);
						if (dt == dataType) {
							// switch final type
							dataType = candidate;
						}
						break;
					}
					catch (DataTypeDependencyException e) {
						// ignore - try next if available
					}
				}
			}

		}
		return dataType;
	}
Process the conflict queue of newly created conflict datatypes.  Processing performs one
last attempt at locating an equivalent datatype 

@param dataType final resolved data type.
If a newly created conflict type and this method and is able to replace with an equivalent 
data type the replacement datatype will be returned, otherwise the specified {@code dataType}
instance will be returned.
@return final resolved data type
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java