@Test
	public void testMyParamSigChanged() throws Exception {
		// 0100194b		FUN_0100194b	body:100194b-1001977
		// 01001978		FUN_01001978	body:1001978-1001ae2
		// 01001ae3		FUN_01001ae3	body:1001ae3-100219b

		// 01002950		FUN_01002950	body:1002950-100299d
		// 0100299e		FUN_0100299e	body:100299e-1002a90
		// 01002a91		FUN_01002a91	body:1002a91-1002b43

		final Parameter[] my_Parm1 = new Parameter[1];
		final Parameter[] my_Parm2 = new Parameter[1];
		final Parameter[] my_count = new Parameter[1];
		final Parameter[] my_offset = new Parameter[1];
		final Parameter[] my_increment = new Parameter[1];

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

			@Override
			public void modifyLatest(ProgramDB program) {
				// Empty
			}
			
			@Override
			public void modifyPrivate(ProgramDB program) {
				try {
					my_Parm1[0] = new MyParameter("Parm1", 0, new FloatDataType(), 4, program);
					my_Parm2[0] = new MyParameter("Parm2", 1, new WordDataType(), 8, program);
					my_count[0] = new MyParameter("count", 0, new ByteDataType(), 4, program);
					my_offset[0] = new MyParameter("offset", 1, new WordDataType(), 8, program);
					my_increment[0] =
						new MyParameter("increment", 2, new DWordDataType(), 12, program);

					AddressSet body1001979 =
						new AddressSet(addr(program, "0x1001979"), addr(program, "0x100199a"));
					createFunction(program, "0x1001979", "FUN_01001979", body1001979);
					Function func = getFunction(program, "0x1001979");
					func.addParameter(my_Parm1[0], SourceType.USER_DEFINED);
					func.addParameter(my_Parm2[0], SourceType.USER_DEFINED);

					AddressSet body10029a1 =
						new AddressSet(addr(program, "0x10029a1"), addr(program, "0x10029ca"));
					createFunction(program, "0x10029a1", "FUN_010029a1", body10029a1);
					func = getFunction(program, "0x10029a1");
					func.addParameter(my_count[0], SourceType.USER_DEFINED);
					func.addParameter(my_offset[0], SourceType.USER_DEFINED);
					func.addParameter(my_increment[0], SourceType.USER_DEFINED);
				}
				catch (DuplicateNameException e) {
					e.printStackTrace();
					Assert.fail(e.getMessage());
				}
				catch (InvalidInputException e) {
					e.printStackTrace();
					Assert.fail(e.getMessage());
				}
			}
		});

		executeMerge(ASK_USER);
		waitForMergeCompletion();

		AddressSet body1001979 = new AddressSet(addr("0x1001979"), addr("0x100199a"));
		checkFunction(resultProgram, "0x1001979", "FUN_01001979", body1001979);
		Function func = getFunction(resultProgram, "0x1001979");
		Parameter[] parms = func.getParameters();
		assertEquals(2, parms.length);
		assertEquals(my_Parm1[0], parms[0]);
		assertEquals(my_Parm2[0], parms[1]);

		func = getFunction(resultProgram, "0x10029a1");
		parms = func.getParameters();
		assertEquals(3, parms.length);
		assertEquals(my_count[0], parms[0]);
		assertEquals(my_offset[0], parms[1]);
		assertEquals(my_increment[0], parms[2]);
	}
Test the merge of the versioned program's listing.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/FunctionMergeManager2Test.java