public DataType findBaseType(String nm, long id) {
		DataType dt = null;
		if (id > 0) {
			dt = progDataTypes.getDataType(id);
		}
		else if ((id & TEMP_ID_MASK) == BUILTIN_ID_HEADER) {
			TypeMap mapDt = coreBuiltin.get(id);
			if (mapDt == null) {
				if (id == (DataTypeManager.BAD_DATATYPE_ID | BUILTIN_ID_HEADER)) {
					dt = BadDataType.dataType;
				}
				else {
					// Reaching here, the id indicates a BuiltIn (that is not a core data-type)
					dt = builtInDataTypes.getDataType(id ^ BUILTIN_ID_HEADER);
				}
			}
			else {
				dt = mapDt.dt;
			}
		}
		else if ((id & TEMP_ID_MASK) == NONDB_ID_HEADER && mapIDToNonDBDataType != null) {
			dt = mapIDToNonDBDataType.get(id);
		}
		return dt;
	}
Find a base/built-in data-type with the given name and/or id.  If an id is provided and
a corresponding data-type exists, this data-type is returned. Otherwise the first
built-in data-type with a matching name is returned
@param nm name of data-type
@param id is an optional data-type id number
@return the data-type object or null if no matching data-type exists
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/PcodeDataTypeManager.java