private DebugInfoEntry getRefDIE(DWARFAttribute attribute) {
		DWARFNumericAttribute val = getAttribute(attribute, DWARFNumericAttribute.class);
		if (val == null) {
			return null;
		}

		long offset = val.getUnsignedValue();

		DebugInfoEntry result = getProgram().getDIEByOffset(offset);
		if (result == null) {
			Msg.warn(this, "Invalid reference value [%x]".formatted(offset));
			Msg.warn(this, this.toString());
		}
		return result;
	}
Returns the unsigned long integer value of the requested attribute, or -defaultValue-
if the attribute is missing.
<p>
The 'unsigned'ness of this method refers to how the binary value is read from
the dwarf information (ie. a value with the high bit set is not treated as signed).
<p>
The -defaultValue- parameter can accept a negative value.

@param attribute {@link DWARFAttribute} id
@param defaultValue value to return if attribute is not present
@return unsigned long value, or the defaultValue if attribute is not present
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DIEAggregate.java