@Override
	public boolean isEquivalent(DataType obj) {
		if (obj == null) {
			return false;
		}
		if (obj == this) {
			return true;
		}
		if (!(obj instanceof TypeDef td)) {
			return false;
		}

		if (isAutoNamed != td.isAutoNamed()) {
			return false;
		}

		if (!isAutoNamed && !DataTypeUtilities.equalsIgnoreConflict(getName(), td.getName())) {
			return false;
		}

		if (!hasSameTypeDefSettings(td)) {
			return false;
		}

		DataType otherDataType = td.getDataType();
		if (DataTypeUtilities.isSameDataType(dataType, otherDataType)) {
			return true;
		}

		return dataType.isEquivalent(otherDataType);
	}
Construct a new typedef.
@param path category path for this datatype
@param name name of this typedef
@param dt data type that is being typedef'ed (may not be null)
@param universalID the id for the data type
@param sourceArchive the source archive for this data type
@param lastChangeTime the last time this data type was changed
@param lastChangeTimeInSourceArchive the last time this data type was changed in
its source archive.
@param dtm the data type manager associated with this data type. This can be null.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/TypedefDataType.java