@Test
	public void testApplyDataDifference2() throws Exception {

		// 0x01003ad5: same structs except different pointer type component.

		Structure struct_b1 = new StructureDataType("struct_a", 0);
		struct_b1.add(new ByteDataType());
		struct_b1.add(new PointerDataType(new DWordDataType()));
		programBuilder1.applyDataType("0x01003ad5", struct_b1, 1);

		Structure struct_b2 = new StructureDataType("struct_a", 0);
		struct_b2.add(new ByteDataType());
		struct_b2.add(new PointerDataType(new CharDataType()));
		programBuilder2.applyDataType("0x01003ad5", struct_b2, 1);

		programMerge = new ProgramMergeManager(p1, p2);
		assertEquals(new AddressSet(addr(0x01003ad5), addr(0x01003ad9)),
			programMerge.getFilteredDifferences());
		mergeCodeUnitDifference(0x01003ad5, 0x01003ad9);
		// Will result in a conflict named copy.
		assertEquals(new AddressSet(addr(0x01003ad5), addr(0x01003ad9)),
			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