@Override
	public DataType toDataType() throws DuplicateNameException, IOException {
		StructureDataType struct = new StructureDataType(Omf51RecordTypes.getName(recordType), 0);
		struct.add(BYTE, "type", null);
		struct.add(WORD, "length", null);
		Integer moduleIndex = 0;
		for (List<OmfString> symbols : moduleSymbolMap) {
			for (OmfString symbol : symbols) {
				struct.add(symbol.toDataType(), symbol.getDataTypeSize(),
					"symbol%d".formatted(moduleIndex), null);
			}

			struct.add(BYTE, "terminator%d".formatted(moduleIndex), null);
			moduleIndex++;
		}
		struct.add(BYTE, "checksum", null);

		struct.setCategoryPath(new CategoryPath(OmfUtils.CATEGORY_PATH));
		return struct;
	}
Creates a new {@link Omf51LibraryDictionaryRecord}

@param reader A {@link BinaryReader} positioned at the start of the record
@throws IOException if an IO-related error occurred
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/omf/omf51/Omf51LibraryDictionaryRecord.java