@Override
	public void markupProgram(Program program, Address address) {
		super.markupProgram(program, address);

		ProgramBasedDataTypeManager dtm = program.getDataTypeManager();
		Listing listing = program.getListing();

		try {
			StructureDataType struct =
				createNoteStructure(null, "NoteGnuProperty_%d".formatted(getNameLen()), false,
					getNameLen(), 0, program.getDataTypeManager());
			Data propData = DataUtilities.createData(program, address, struct, -1, false,
				ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);
			address = propData.getMaxAddress().next();

			for (NotePropertyElement element : elements) {
				DataType elementDT = getElementDataType(dtm, element);
				Data elementData = DataUtilities.createData(program, address, elementDT, -1, false,
					ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);
				listing.setComment(address, CommentType.EOL,
					element.typeName() + "=" + element.value());
				address = elementData.getMaxAddress().next();
			}
		}
		catch (CodeUnitInsertionException e) {
			Msg.error(this, "Failed to markup NoteGnuProperty at %s, %s".formatted(address, this));
		}

	}
Creates a instance using the specified values.

@param name name of property
@param vendorType vendor type of property
@param elements list of NotePropertyElements
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/info/NoteGnuProperty.java