@Override
	public void markupProgram(Program program, Address address) {
		try {
			Options progInfo = program.getOptions(Program.PROGRAM_INFO);
			SymbolTable symTable = program.getSymbolTable();

			for (int commentNum = 0; commentNum < commentStrings.size(); commentNum++) {
				String commentStr = commentStrings.get(commentNum);
				Integer strLen = commentStringLengths.get(commentNum);

				progInfo.setString("Elf Comment[%d]".formatted(commentNum), commentStr);
				symTable.createLabel(address, "ElfComment[%d]".formatted(commentNum),
					SourceType.IMPORTED);
				DataUtilities.createData(program, address, StringUTF8DataType.dataType, strLen,
					false, ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);
				address = address.addWrap(strLen); // need to allow wrap so we don't error when hitting end-of-section
			}
		}
		catch (CodeUnitInsertionException | InvalidInputException e) {
			Msg.error(this, "Failed to markup ElfComment at %s: %s".formatted(address, this));
		}

	}
Reads a ElfComment from the specified BinaryReader.

@param br BinaryReader to read from
@param program unused, present to match the signature of {@link ElfInfoItem.ReaderFunc}
@return new instance, or null if data error
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/info/ElfComment.java