@Override
	protected List<CppCompositeType> getCppTypes(DataTypeManager dtm) throws PdbException {
		List<CppCompositeType> cppTypes = new ArrayList<>();
		CppCompositeType sA = createA_struct(dtm);
		cppTypes.add(sA);
		CppCompositeType sB = createB_struct(dtm);
		cppTypes.add(sB);
		CppCompositeType sC = createC_struct(dtm);
		cppTypes.add(sC);
		CppCompositeType sCC1 = createCC1_struct(dtm);
		cppTypes.add(sCC1);
		CppCompositeType sCC2 = createCC2_struct(dtm);
		cppTypes.add(sCC2);
		CppCompositeType sCC3 = createCC3_struct(dtm);
		cppTypes.add(sCC3);
		CppCompositeType sD = createD_struct(dtm, sC);
		cppTypes.add(sD);
		CppCompositeType sE = createE_struct(dtm);
		cppTypes.add(sE);
		CppCompositeType sF = createF_struct(dtm, sC, sE);
		cppTypes.add(sF);
		CppCompositeType sG = createG_struct(dtm, sC);
		cppTypes.add(sG);
		CppCompositeType sH = createH_struct(dtm, sC);
		cppTypes.add(sH);
		CppCompositeType sGG1 = createGG1_struct(dtm, sCC1);
		cppTypes.add(sGG1);
		CppCompositeType sGG2 = createGG2_struct(dtm, sCC2);
		cppTypes.add(sGG2);
		CppCompositeType sGG3 = createGG3_struct(dtm, sCC2);
		cppTypes.add(sGG3);
		CppCompositeType sGG4 = createGG4_struct(dtm, sCC3);
		cppTypes.add(sGG4);
		CppCompositeType sI = createI_struct(dtm, sG, sH, sC);
		cppTypes.add(sI);
		CppCompositeType sGX1 = createGX1_struct(dtm, sC);
		cppTypes.add(sGX1);
		CppCompositeType sHX1 = createHX1_struct(dtm, sC);
		cppTypes.add(sHX1);
		CppCompositeType sIX1 = createIX1_struct(dtm, sGX1, sHX1, sC);
		cppTypes.add(sIX1);
		CppCompositeType sG1 = createG1_struct(dtm, sC, sE);
		cppTypes.add(sG1);
		CppCompositeType sH1 = createH1_struct(dtm, sC, sE);
		cppTypes.add(sH1);
		CppCompositeType sI1 = createI1_struct(dtm, sG1, sH, sC, sE);
		cppTypes.add(sI1);
		CppCompositeType sI2 = createI2_struct(dtm, sG, sH1, sC, sE);
		cppTypes.add(sI2);
		CppCompositeType sI3 = createI3_struct(dtm, sG1, sH1, sC, sE);
		cppTypes.add(sI3);
		CppCompositeType sI4 = createI4_struct(dtm, sG1, sC, sE);
		cppTypes.add(sI4);
		CppCompositeType sI5 = createI5_struct(dtm, sG1, sE, sC);
		cppTypes.add(sI5);
		CppCompositeType sJ1 = createJ1_struct(dtm, sI1, sI2, sC, sE);
		cppTypes.add(sJ1);
		CppCompositeType sJ2 = createJ2_struct(dtm, sI2, sI1, sC, sE);
		cppTypes.add(sJ2);
		CppCompositeType sJ3 = createJ3_struct(dtm, sI2, sI1, sA, sC, sE);
		cppTypes.add(sJ3);
		CppCompositeType sJ4 =
			createJ4_struct(dtm, sI3, sGG1, sI, sA, sC, sE, sCC1, sCC2, sGG2, sGG3);
		cppTypes.add(sJ4);
		CppCompositeType sJ5 =
			createJ5_struct(dtm, sI3, sGG1, sI, sA, sCC2, sGG2, sGG3, sC, sE, sCC1);
		cppTypes.add(sJ5);
		CppCompositeType sJ6 = createJ6_struct(dtm, sA, sCC3, sGG4, sCC2, sGG3);
		cppTypes.add(sJ6);
		CppCompositeType sP = createP_struct(dtm);
		cppTypes.add(sP);
		CppCompositeType sQ = createQ_struct(dtm, sP);
		cppTypes.add(sQ);
		CppCompositeType sR = createR_struct(dtm);
		cppTypes.add(sR);
		CppCompositeType sS = createS_struct(dtm, sP, sR);
		cppTypes.add(sS);
		CppCompositeType sT = createT_struct(dtm, sP);
		cppTypes.add(sT);
		CppCompositeType sU = createU_struct(dtm, sT, sP);
		cppTypes.add(sU);
		CppCompositeType sV = createV_struct(dtm);
		cppTypes.add(sV);
		CppCompositeType sW = createW_struct(dtm, sV);
		cppTypes.add(sW);
		CppCompositeType sWW = createWW_struct(dtm, sW);
		cppTypes.add(sWW);
		CppCompositeType sX = createX_struct(dtm);
		cppTypes.add(sX);
		CppCompositeType sZ = createZ_struct(dtm);
		cppTypes.add(sZ);
		CppCompositeType sAA1a = createAA1a_struct(dtm);
		cppTypes.add(sAA1a);
		CppCompositeType sAA1b = createAA1b_struct(dtm);
		cppTypes.add(sAA1b);
		CppCompositeType sAA1 = createAA1_struct(dtm, sAA1a, sAA1b);
		cppTypes.add(sAA1);
		CppCompositeType sAA2a = createAA2a_struct(dtm);
		cppTypes.add(sAA2a);
		CppCompositeType sAA2b = createAA2b_struct(dtm);
		cppTypes.add(sAA2b);
		CppCompositeType sAA2 = createAA2_struct(dtm, sAA2a, sAA2b);
		cppTypes.add(sAA2);
		CppCompositeType sAA3a = createAA3a_struct(dtm, sAA2);
		cppTypes.add(sAA3a);
		CppCompositeType sAA3b = createAA3b_struct(dtm, sAA2);
		cppTypes.add(sAA3b);
		CppCompositeType sAA3c = createAA3c_struct(dtm, sAA3a, sAA3b, sAA1, sAA2);
		cppTypes.add(sAA3c);
		CppCompositeType sAA3d = createAA3d_struct(dtm, sAA1, sAA2, sAA3a, sAA3b);
		cppTypes.add(sAA3d);
		CppCompositeType sAA3e = createAA3e_struct(dtm, sAA2);
		cppTypes.add(sAA3e);
		CppCompositeType sAA3f = createAA3f_struct(dtm, sAA2);
		cppTypes.add(sAA3f);
		CppCompositeType sAA3g = createAA3g_struct(dtm, sAA3e, sAA3f);
		cppTypes.add(sAA3g);
		CppCompositeType sAA4a = createAA4a_struct(dtm, sAA1);
		cppTypes.add(sAA4a);
		CppCompositeType sAA4b = createAA4b_struct(dtm, sAA1);
		cppTypes.add(sAA4b);
		CppCompositeType sAA4c = createAA4c_struct(dtm, sAA4a, sAA4b, sAA1);
		cppTypes.add(sAA4c);
		CppCompositeType sAA4d = createAA4d_struct(dtm, sAA4b, sAA1, sAA4a);
		cppTypes.add(sAA4d);
		CppCompositeType sAA4e = createAA4e_struct(dtm, sAA4a, sAA1, sAA4b);
		cppTypes.add(sAA4e);
		CppCompositeType sAA4f = createAA4f_struct(dtm, sAA1, sAA4a, sAA4b);
		cppTypes.add(sAA4f);
		CppCompositeType sAA4g = createAA4g_struct(dtm, sAA4b, sAA1);
		cppTypes.add(sAA4g);
		CppCompositeType sAA4h = createAA4h_struct(dtm);
		cppTypes.add(sAA4h);
		CppCompositeType sAA4j = createAA4j_struct(dtm, sAA4h);
		cppTypes.add(sAA4j);
		CppCompositeType sAA4k = createAA4k_struct(dtm, sAA4h);
		cppTypes.add(sAA4k);
		CppCompositeType sAA4m = createAA4m_struct(dtm, sAA4j, sAA4h);
		cppTypes.add(sAA4m);
		CppCompositeType sAA4n = createAA4n_struct(dtm, sAA4k, sAA4h);
		cppTypes.add(sAA4n);
		CppCompositeType sAA4p = createAA4p_struct(dtm, sAA4m, sAA4h);
		cppTypes.add(sAA4p);
		CppCompositeType sAA4q = createAA4q_struct(dtm, sAA4n, sAA4m, sAA4h);
		cppTypes.add(sAA4q);
		CppCompositeType sAA5a = createAA5a_struct(dtm);
		cppTypes.add(sAA5a);
		CppCompositeType sAA5b = createAA5b_struct(dtm);
		cppTypes.add(sAA5b);
		CppCompositeType sAA5c = createAA5c_struct(dtm);
		cppTypes.add(sAA5c);
		CppCompositeType sAA5d = createAA5d_struct(dtm);
		cppTypes.add(sAA5d);
		CppCompositeType sAA5e = createAA5e_struct(dtm, sAA5a, sAA5b);
		cppTypes.add(sAA5e);
		CppCompositeType sAA5f = createAA5f_struct(dtm, sAA5c, sAA5d);
		cppTypes.add(sAA5f);
		CppCompositeType sAA5g = createAA5g_struct(dtm, sAA5c, sAA5b, sAA5e);
		cppTypes.add(sAA5g);
		CppCompositeType sAA5h = createAA5h_struct(dtm, sAA5a, sAA5d, sAA5f);
		cppTypes.add(sAA5h);
		CppCompositeType sAA5j = createAA5j_struct(dtm, sAA5g, sAA5h, sAA5b, sAA5e, sAA5d, sAA5f);
		cppTypes.add(sAA5j);
		CppCompositeType sAA6a = createAA6a_struct(dtm);
		cppTypes.add(sAA6a);
		CppCompositeType sAA6b = createAA6b_struct(dtm, sAA6a);
		cppTypes.add(sAA6b);
		CppCompositeType sAA6c = createAA6c_struct(dtm, sAA6a);
		cppTypes.add(sAA6c);
		CppCompositeType sAA6d = createAA6d_struct(dtm, sAA6a);
		cppTypes.add(sAA6d);
		CppCompositeType sAA6e = createAA6e_struct(dtm, sAA6a);
		cppTypes.add(sAA6e);
		CppCompositeType sAA6f = createAA6f_struct(dtm, sAA6b, sAA6a);
		cppTypes.add(sAA6f);
		CppCompositeType sAA6g = createAA6g_struct(dtm, sAA6c, sAA6a);
		cppTypes.add(sAA6g);
		CppCompositeType sAA6h = createAA6h_struct(dtm, sAA6a, sAA6c);
		cppTypes.add(sAA6h);
		CppCompositeType sAA6j = createAA6j_struct(dtm, sAA6a, sAA6c);
		cppTypes.add(sAA6j);
		CppCompositeType sAA7a = createAA7a_struct(dtm);
		cppTypes.add(sAA7a);
		CppCompositeType sAA7b = createAA7b_struct(dtm);
		cppTypes.add(sAA7b);
		CppCompositeType sAA7c = createAA7c_struct(dtm, sAA7a, sAA7b);
		cppTypes.add(sAA7c);
		CppCompositeType sAA7d = createAA7d_struct(dtm, sAA7a, sAA7b);
		cppTypes.add(sAA7d);
		CppCompositeType sBB1a = createBB1a_struct(dtm);
		cppTypes.add(sBB1a);
		CppCompositeType sBB1b = createBB1b_struct(dtm, sBB1a);
		cppTypes.add(sBB1b);
		CppCompositeType sBB1c = createBB1c_struct(dtm, sBB1a);
		cppTypes.add(sBB1c);
		CppCompositeType sBB1d = createBB1d_struct(dtm, sBB1b, sBB1c, sBB1a);
		cppTypes.add(sBB1d);
		CppCompositeType sBB2z = createBB2z_struct(dtm);
		cppTypes.add(sBB2z);
		CppCompositeType sBB2a = createBB2a_struct(dtm, sBB2z);
		cppTypes.add(sBB2a);
		CppCompositeType sBB2b = createBB2b_struct(dtm, sBB2a, sBB2z);
		cppTypes.add(sBB2b);
		CppCompositeType sBB2c = createBB2c_struct(dtm, sBB2z, sBB2a);
		cppTypes.add(sBB2c);
		CppCompositeType sBB2d = createBB2d_struct(dtm, sBB2b, sBB2c, sBB2z, sBB2a);
		cppTypes.add(sBB2d);
		CppCompositeType sBB2e = createBB2e_struct(dtm, sBB2b, sBB2z);
		cppTypes.add(sBB2e);
		CppCompositeType sBB3a = createBB3a_struct(dtm);
		cppTypes.add(sBB3a);
		CppCompositeType sBB3b = createBB3b_struct(dtm);
		cppTypes.add(sBB3b);
		CppCompositeType sBB3c = createBB3c_struct(dtm);
		cppTypes.add(sBB3c);
		CppCompositeType sBB3d = createBB3d_struct(dtm, sBB3a, sBB3c, sBB3b);
		cppTypes.add(sBB3d);
		CppCompositeType sBB3e = createBB3e_struct(dtm, sBB3b, sBB3a, sBB3c);
		cppTypes.add(sBB3e);
		CppCompositeType sBB3f = createBB3f_struct(dtm, sBB3d, sBB3e, sBB3b, sBB3a, sBB3c);
		cppTypes.add(sBB3f);
		CppCompositeType sBB3g = createBB3g_struct(dtm, sBB3e, sBB3d, sBB3a, sBB3c, sBB3b);
		cppTypes.add(sBB3g);
		CppCompositeType sCC1a = createCC1a_struct(dtm);
		cppTypes.add(sCC1a);
		CppCompositeType sCC1b = createCC1b_struct(dtm);
		cppTypes.add(sCC1b);
		CppCompositeType sCC1c = createCC1c_struct(dtm);
		cppTypes.add(sCC1c);
		CppCompositeType sCC1d = createCC1d_struct(dtm);
		cppTypes.add(sCC1d);
		CppCompositeType sCC1e = createCC1e_struct(dtm);
		cppTypes.add(sCC1e);
		CppCompositeType sCC1f = createCC1f_struct(dtm);
		cppTypes.add(sCC1f);
		CppCompositeType sCC1g = createCC1g_struct(dtm, sCC1a, sCC1b, sCC1c, sCC1d, sCC1e, sCC1f);
		cppTypes.add(sCC1g);
		CppCompositeType sCC1h = createCC1h_struct(dtm, sCC1a, sCC1b, sCC1c, sCC1d, sCC1e, sCC1f);
		cppTypes.add(sCC1h);
		CppCompositeType sCC1g_counterpoint = createCC1g_counterpoint_struct(dtm);
		cppTypes.add(sCC1g_counterpoint);
		CppCompositeType sCC1h_counterpoint = createCC1h_counterpoint_struct(dtm);
		cppTypes.add(sCC1h_counterpoint);
		CppCompositeType sCC1g_counterpoint2 = createCC1g_counterpoint2_struct(dtm);
		cppTypes.add(sCC1g_counterpoint2);
		CppCompositeType sCC1h_counterpoint2 = createCC1h_counterpoint2_struct(dtm);
		cppTypes.add(sCC1h_counterpoint2);
		CppCompositeType sCC2a = createCC2a_struct(dtm);
		cppTypes.add(sCC2a);
		CppCompositeType sCC2b = createCC2b_struct(dtm);
		cppTypes.add(sCC2b);
		CppCompositeType sCC2c = createCC2c_struct(dtm);
		cppTypes.add(sCC2c);
		CppCompositeType sCC2d = createCC2d_struct(dtm);
		cppTypes.add(sCC2d);
		CppCompositeType sCC2e = createCC2e_struct(dtm);
		cppTypes.add(sCC2e);
		CppCompositeType sCC2f = createCC2f_struct(dtm);
		cppTypes.add(sCC2f);
		CppCompositeType sCC2g = createCC2g_struct(dtm);
		cppTypes.add(sCC2g);
		CppCompositeType sCC2h = createCC2h_struct(dtm);
		cppTypes.add(sCC2h);
		CppCompositeType sCC2j = createCC2j_struct(dtm);
		cppTypes.add(sCC2j);
		CppCompositeType sDD1a = createDD1a_struct(dtm);
		cppTypes.add(sDD1a);
		CppCompositeType sDD1b = createDD1b_struct(dtm, sDD1a);
		cppTypes.add(sDD1b);
		CppCompositeType sDD1c = createDD1c_struct(dtm, sDD1b, sDD1a);
		cppTypes.add(sDD1c);
		CppCompositeType sDD1d = createDD1d_struct(dtm, sDD1b, sDD1a);
		cppTypes.add(sDD1d);
		CppCompositeType sDD2a = createDD2a_struct(dtm);
		cppTypes.add(sDD2a);
		CppCompositeType sDD2b = createDD2b_struct(dtm);
		cppTypes.add(sDD2b);
		CppCompositeType sDD2c = createDD2c_struct(dtm, sDD2a);
		cppTypes.add(sDD2c);
		CppCompositeType sDD2d = createDD2d_struct(dtm, sDD2a, sDD2b);
		cppTypes.add(sDD2d);
		CppCompositeType sDD2e = createDD2e_struct(dtm, sDD2c, sDD2d);
		cppTypes.add(sDD2e);
		return cppTypes;
	}
Test struct I5 - 64 - speculative placement.
<p> THIS TEST STILL HAS PROBLEMS...
<p> The expected output does not match what is the correct layout, but we do not have enough
information (without using vbtable) to create the correct output.  So we are testing our
incorrect result against the known incorrect expected result to cause the test to pass
Ghidra/Features/PDB/src/test/java/ghidra/app/util/pdb/Egray864ProgramCreator.java