private DataType findDataTypeInAllDataTypeManagers(String baseName, List<DataType> results)
			throws CancelledException {
		if (results.isEmpty() && dataTypeManagerService != null) {
			results.addAll(
				DataTypeUtils.getExactMatchingDataTypes(baseName, dataTypeManagerService));
		}

		if (results.isEmpty()) {
			return null;
		}

		// try to heuristically pick the right type
		DataType dt = pickFromPossibleEquivalentDataTypes(results);
		if (dt != null) {
			return dt;
		}

		// give up and ask the user
		return proptUserForType(baseName);
	}
Throws exception if the data type does not match the specified {@link AllowedDataTypes}.

@param dt {@link DataType} to check
@param allowedTypes {@link AllowedDataTypes enum} specifying what category of data types are ok
@throws InvalidDataTypeException if dt violates the specified allowedTypes
Ghidra/Features/Base/src/main/java/ghidra/util/data/DataTypeParser.java