private DedupedConflicts doDedupeConflicts(DataType dataType) {

		List<DataType> relatedByName = findDataTypesSameLocation(dataType);
		if (relatedByName.size() < 2) {
			return new DedupedConflicts(1, 0);
		}
		Collections.sort(relatedByName, DataTypeComparator.INSTANCE);

		int replaceCnt = 0;
		for (int n = relatedByName.size() - 1; n != 0; n--) {
			DataType targetDt = relatedByName.get(n);

			for (int m = 0; m < n; m++) {
				DataType candidate = relatedByName.get(m);
				if (candidate.isEquivalent(targetDt)) {
					try {
						replace(targetDt, candidate);
						++replaceCnt;
						break;
					}
					catch (DataTypeDependencyException e) {
						throw new AssertionError("Unexpected condition", e);
					}
				}
			}
		}
		return new DedupedConflicts(relatedByName.size(), replaceCnt);

	}
De-duplicate equivalent conflict datatypes which share a common base data type name and
are found to be equivalent.

@param dataType data type whose related conflict types should be de-duplicated
@return true if one or more datatypes were de-duplicted or dde-conflicted, else false
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java