static CppCompositeType createI2_struct32(VxtManager vxtManager, CppCompositeType G_struct,
			CppCompositeType H1_struct, CppCompositeType C_struct, CppCompositeType E_struct) {
		try {
			CppCompositeType I2_struct = createStruct32("I2", 28);
			I2_struct.addDirectBaseClass(G_struct.getComposite(), G_struct, 0);
			I2_struct.addDirectBaseClass(H1_struct.getComposite(), H1_struct, 8);
			I2_struct.addIndirectVirtualBaseClass(C_struct.getComposite(), C_struct, 0,
				ClassUtils.VXPTR_TYPE,
				1);
			I2_struct.addIndirectVirtualBaseClass(E_struct.getComposite(), E_struct, 0,
				ClassUtils.VXPTR_TYPE,
				2);
			I2_struct.addMember("i21", intT, false, 16);
			return I2_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