@Override
	public DataType toDataType() {
		StructureDataType struct = new StructureDataType(NAME, 0);
		for (int i = 0; i < lineCount; i++) {
			Integer length = lineLens.get(i);
			if (length < 0) {
				break;
			}
			String key = keys.get(i);
			StringDataType str = new StringDataType();
			Map<String, String> smap = smaps.get(key);
			struct.add(str, length+1, key, null);
			if (key.equals("CoreDump")) {
				break;
			}
			if (smap != null) {
				Structure substruct = new StructureDataType(key, 0);
				for (String skey : smap.keySet()) {
					length = lineLens.get(++i);
					str = new StringDataType();
					substruct.add(str, length+1, skey, null);
				}
				struct.add(substruct, substruct.getDisplayName(), null);	
			}
		}

		struct.setCategoryPath(new CategoryPath("/APDMP"));

		return struct;
	}
@see ghidra.app.util.bin.StructConverter#toDataType()
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/dump/apport/ApportHeader.java