static CppCompositeType createJ4_struct64(VxtManager vxtManager, CppCompositeType I3_struct,
			CppCompositeType GG1_struct, CppCompositeType I_struct, CppCompositeType A_struct,
			CppCompositeType GG2_struct, CppCompositeType GG3_struct, CppCompositeType C_struct,
			CppCompositeType E_struct, CppCompositeType CC1_struct, CppCompositeType CC2_struct) {
		try {
			CppCompositeType J4_struct = createStruct64("J4", 160);
			J4_struct.addDirectBaseClass(I3_struct.getComposite(), I3_struct, 0);
			J4_struct.addDirectBaseClass(GG1_struct.getComposite(), GG1_struct, 40);
			J4_struct.addDirectBaseClass(I_struct.getComposite(), I_struct, 56);
			J4_struct.addDirectBaseClass(A_struct.getComposite(), A_struct, 96);
			J4_struct.addDirectVirtualBaseClass(GG2_struct.getComposite(), GG2_struct, 0,
				ClassUtils.VXPTR_TYPE,
				5);
			J4_struct.addDirectVirtualBaseClass(GG3_struct.getComposite(), GG3_struct, 0,
				ClassUtils.VXPTR_TYPE,
				6);
			J4_struct.addIndirectVirtualBaseClass(C_struct.getComposite(), C_struct, 0,
				ClassUtils.VXPTR_TYPE,
				1);
			J4_struct.addIndirectVirtualBaseClass(E_struct.getComposite(), E_struct, 0,
				ClassUtils.VXPTR_TYPE,
				2);
			J4_struct.addIndirectVirtualBaseClass(CC1_struct.getComposite(), CC1_struct, 0,
				ClassUtils.VXPTR_TYPE, 3);
			J4_struct.addIndirectVirtualBaseClass(CC2_struct.getComposite(), CC2_struct, 0,
				ClassUtils.VXPTR_TYPE, 4);
			J4_struct.addMember("j41", intT, false, 104);
			return J4_struct;
		}
		catch (Exception e) {
			String msg = "Error in static initialization of test: " + e;
			Msg.error(null, msg);
			throw new AssertException(msg);
		}
	}
This is not part of the DataTypeManager API... it is only for testing when needing
 to clear results because of another run that creates the same-named types
Ghidra/Features/PDB/src/test/java/ghidra/app/util/pdb/pdbapplicator/CppCompositeTypeTest.java