@Test
	public void testChangeStackParamDataTypeSame() throws Exception {
		// 0100299e		FUN_0100299e	body:100299e-1002a90
		// 01002a91		FUN_01002a91	body:1002a91-1002b43
		// 01002b44		FUN_01002b44	body:1002b44-1002b7c
		// 01002b7d		FUN_01002b7d	body:1002b7d-1002c92
		// 01002c93		FUN_01002c93	body:1002c93-1002cf4
		// 01002cf5		FUN_01002cf5	body:1002cf5-1002d6d
		// 01002f01		FUN_01002f01	body:1002f01-10030c5
		// 010031ee		FUN_010031ee	body:10031ee-100324f
		// 01003250		FUN_01003250	body:1003250-10032d4
		// 01003bed		FUN_01003bed	body:1003bed-1003efb
		// 01005c6f		FUN_01005c6f	body:[1005c6f-1005fbd][1005ff5-10061e2]
		// 01006420		entry			body:[1006420-1006581][10065a4-10065cd]

		mtf.initialize("NotepadMergeListingTest_X86", new ProgramModifierListener() {

			@Override
			public void modifyLatest(ProgramDB program) {
				try {
					Function func = getFunction(program, "0x100415a");
					func.getParameter(2).setDataType(new WordDataType(), SourceType.ANALYSIS);
				}
				catch (Exception e) {
					e.printStackTrace();
					Assert.fail(e.getMessage());
				}
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				try {
					Function func = getFunction(program, "0x100415a");
					func.getParameter(2).setDataType(new WordDataType(), SourceType.ANALYSIS);
				}
				catch (Exception e) {
					e.printStackTrace();
					Assert.fail(e.getMessage());
				}
			}
		});

		executeMerge(ASK_USER);
		waitForMergeCompletion();

		Function func = getFunction(resultProgram, "0x100415a");
		Parameter parm = func.getParameter(2);
		assertSameDataType(new WordDataType(), parm.getDataType());
	}
Test the merge of the versioned program's listing.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/FunctionMergeManager2Test.java