private void replace(DataType existingDt, DataType replacementDt)
			throws DataTypeDependencyException {

		if (!contains(existingDt)) {
			return;
		}

		if (replacementDt.dependsOn(existingDt)) {
			throw new DataTypeDependencyException("Replace failed: " +
				replacementDt.getDisplayName() + " depends on " + existingDt.getDisplayName());
		}

		addDataTypeToReplace(existingDt, replacementDt);
		replaceQueuedDataTypes();
	}
Complete datatype resolution after having attempted to find an existing equivalent type. 
An attempt is made to identify a conflicting datatype and determine a conflict resolution
using the specified conflict handler.
@param dataType datatype being resolved
@param sourceArchive source archive associated with new type (may be null)
@return resolved datatype (may be existing or newly added datatype)
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java