private void populateStubEnum(Enum enumDT, DIEAggregate diea, boolean defaultSignedness) {
		// NOTE: gcc tends to emit values without an explicit signedness.  The caller
		// can specify a default signedness, but this should probably always be unsigned.
		for (DebugInfoEntry childEntry : diea.getChildren(DW_TAG_enumerator)) {
			DIEAggregate childDIEA = prog.getAggregate(childEntry);
			String valueName = childDIEA.getName();

			DWARFNumericAttribute enumValAttr = childDIEA
					.getAttribute(DW_AT_const_value, DWARFNumericAttribute.class);
			if (enumValAttr != null) {
				long enumVal = enumValAttr.getValueWithSignednessHint(defaultSignedness);

				// NOTE: adding the same name=value pair a second time is handled correctly and ignored.
				// Adding a second name=different_value pair generates an exception
				try {
					enumDT.add(valueName, enumVal);
				}
				catch (IllegalArgumentException iae) {
					Msg.error(this,
						"Failed to add value %s=%d[%x] to enum %s".formatted(valueName, enumVal,
							enumVal, enumDT.getCategoryPath()),
						iae);
				}
			}
		}
	}
Creates a Ghidra {@link Enum} datatype.
<p>
If an existing Enum with the same name is found in the DTM, and it doesn't have
any conflicting enum values, merge this enum into the existing enum.
<p>
This method takes liberties with the normal{@literal DWARF->Ghidra Impl DataType->Ghidra DB DataType}
workflow to be able to merge values into previous db enum datatypes.

@param diea
@return
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFDataTypeImporter.java