@Override
	public DataType toDataType() throws DuplicateNameException {
		StructureDataType struct = new StructureDataType(NAME, 0);

		struct.add(WORD, 2, "Revision", null);
		if (expandedFormat) {
			struct.add(WORD, 2, "Flags", null);
		}
		struct.add(DWORD, 4, "PageFaultCount", null);
		struct.add(QWORD, 8, "PeakWorkingSetSize", null);
		struct.add(QWORD, 8, "WorkingSetSize", null);
		struct.add(QWORD, 8, "QuotaPeakPagedPoolUsage", null);
		struct.add(QWORD, 8, "QuotaPagedPoolUsage", null);
		struct.add(QWORD, 8, "QuotaPeakNonPagedPoolUsage", null);
		struct.add(QWORD, 8, "QuotaNonPagedPoolUsage", null);
		struct.add(QWORD, 8, "PagefileUsage", null);
		struct.add(QWORD, 8, "PeakPagefileUsage", null);
		if (expandedFormat) {
			struct.add(QWORD, 8, "PeakVirtualSize", null);
			struct.add(QWORD, 8, "VirtualSize", null);
		}
		struct.add(QWORD, 8, "PrivateUsage", null);
		if (expandedFormat) {
			struct.add(QWORD, 8, "PrivateWorkingSetSize", null);
			struct.add(QWORD, 8, "SharedCommitUsage", null);
			struct.add(QWORD, 8, "JobSharedCommitUsage", null);
			struct.add(QWORD, 8, "JobPrivateCommitUsage", null);
			struct.add(QWORD, 8, "JobPeakPrivateCommitUsage", null);
			struct.add(QWORD, 8, "JobPrivateCommitLimit", null);
			struct.add(QWORD, 8, "JobTotalCommitLimit", null);
		}

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

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