@Test
	public void testAddSourceSymbolToLatestOnly() throws Exception {
		// 01002691: primary local "AAA" scope=FUN_0100248f
		// 010032a7: no symbol

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

			@Override
			public void modifyLatest(ProgramDB program) {
				try {
					program.getSymbolTable()
							.createLabel(addr(program, "0x10032a7"), "Lucy", null,
								SourceType.IMPORTED);
					program.getSymbolTable()
							.createLabel(addr(program, "0x10032a7"), "Linus", null,
								SourceType.ANALYSIS);
					program.getSymbolTable()
							.createLabel(addr(program, "0x10032a7"), "Sally", null,
								SourceType.USER_DEFINED);
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				// No changes for My program.
			}
		});

		executeMerge(ASK_USER);
		waitForMergeCompletion();

		SymbolTable symtab = resultProgram.getSymbolTable();
		Symbol s;
		s = symtab.getGlobalSymbol("Lucy", addr("0x10032a7"));
		checkSymbol(s, "Lucy", true);
		assertEquals(SourceType.IMPORTED, s.getSource());

		s = symtab.getGlobalSymbol("Linus", addr("0x10032a7"));
		checkSymbol(s, "Linus", true);
		assertEquals(SourceType.ANALYSIS, s.getSource());

		s = symtab.getGlobalSymbol("Sally", addr("0x10032a7"));
		checkSymbol(s, "Sally", true);
		assertEquals(SourceType.USER_DEFINED, s.getSource());
	}
Test add of symbol for each source type to Latest program version only.
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/SymbolMergeManagerSourceTest.java