@Override
	public DataType toDataType() throws DuplicateNameException, IOException {
		StructureDataType nameStruct = new StructureDataType(NAME + "_" + "NameStruct", 0);
		nameStruct.add(DWORD, "NameOffset", null);
		nameStruct.add(DWORD, "NameIsString", null);
		nameStruct.setCategoryPath(new CategoryPath("/PE"));

		UnionDataType union1 = new UnionDataType(NAME + "_" + "NameUnion");
		union1.add(nameStruct, nameStruct.getName(), null);
		union1.add(DWORD, "Name", null);
		union1.add(WORD, "Id", null);
		union1.setCategoryPath(new CategoryPath("/PE"));

		StructureDataType offsetStruct = new StructureDataType(NAME + "_" + "DirectoryStruct", 0);
		offsetStruct.add(DWORD, "OffsetToDirectory", null);
		offsetStruct.add(DWORD, "DataIsDirectory", null);

		UnionDataType union2 = new UnionDataType(NAME + "_" + "DirectoryUnion");
		union2.add(DWORD, "OffsetToData", null);
		union2.add(offsetStruct, offsetStruct.getName(), null);

		UnionDataType union3 = new UnionDataType(NAME);
		union3.add(union1, "NameUnion", null);
		union3.add(union2, "DirectoryUnion", null);

		union3.setCategoryPath(new CategoryPath("/PE"));
		return union3;
	}
Returns a pointer to information about a specific resource instance.
@return a pointer to information about a specific resource instance
@see #getOffsetToData()
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/pe/resource/ResourceDirectoryEntry.java