@Test
	public void testApplyDataDifference5() throws Exception {

		// 0x01003af7: same struct with different names.

		Structure struct_a1 = new StructureDataType("struct_a", 0);
		struct_a1.add(new ByteDataType());
		struct_a1.add(new DWordDataType());

		programBuilder1.applyDataType("0x01003af7", struct_a1, 1);

		Structure struct_altName_a1 = new StructureDataType("my_struct_a", 0);
		struct_altName_a1.add(new ByteDataType());
		struct_altName_a1.add(new DWordDataType());
		programBuilder2.applyDataType("0x1003af7", struct_altName_a1, 1);

		programMerge = new ProgramMergeManager(p1, p2);
		assertEquals(new AddressSet(addr(0x01003af7), addr(0x01003afb)),
			programMerge.getFilteredDifferences());
		mergeCodeUnitDifference(0x01003af7, 0x01003afb);
		assertEquals(new AddressSet(), programMerge.getFilteredDifferences());
	}
Test that programMerge can apply a conflicting data type difference in
Program1 and Program2.
Ghidra/Features/Base/src/test.slow/java/ghidra/program/util/ProgramMerge3Test.java