public DataType getDataType(DIEAggregate diea, DataType defaultValue) {
		if (diea == null) {
			return defaultValue;
		}

		DataType result = null;
		DataTypePath dtp = offsetToDTP.get(diea.getOffset());
		if (dtp != null) {
			result = dataTypeManager.getDataType(dtp);
		}
		if (result == null) {
			try {
				result = doGetDataType(diea);
			}
			catch (IOException | DWARFExpressionException e) {
				Msg.error(this, "Problem while retrieving data type in DIE " + diea.getOffset(), e);
				Msg.error(this, "DIE info: " + diea.toString());
			}
		}
		return (result != null) ? result : defaultValue;
	}
Returns a Ghidra {@link DataType} corresponding to the specified {@link DIEAggregate},
or the specified defaultValue if the DIEA param is null or does not map to an already
defined datatype (registered with {@link #addDataType(long, DataType, DWARFSourceInfo)}).

@param diea {@link DIEAggregate} that defines a data type
@param defaultValue Ghidra {@link DataType} to return if the specified DIEA is null
or not already defined.
@return Ghidra {@link DataType}
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFDataTypeManager.java