static CppCompositeType createJ6_struct32(VxtManager vxtManager, CppCompositeType A_struct,
			CppCompositeType GG4_struct, CppCompositeType GG3_struct, CppCompositeType CC2_struct,
			CppCompositeType CC3_struct) {
		try {
			CppCompositeType J6_struct = createStruct32("J6", 36);
			J6_struct.addDirectBaseClass(A_struct.getComposite(), A_struct, 0);
			J6_struct.addDirectVirtualBaseClass(GG4_struct.getComposite(), GG4_struct, 8,
				ClassUtils.VXPTR_TYPE,
				2);
			J6_struct.addDirectVirtualBaseClass(GG3_struct.getComposite(), GG3_struct, 8,
				ClassUtils.VXPTR_TYPE,
				4);
			J6_struct.addIndirectVirtualBaseClass(CC3_struct.getComposite(), CC3_struct, 8,
				ClassUtils.VXPTR_TYPE, 1);
			J6_struct.addIndirectVirtualBaseClass(CC2_struct.getComposite(), CC2_struct, 8,
				ClassUtils.VXPTR_TYPE, 3);
			J6_struct.addMember("j61", intT, false, 12);
			return J6_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