@Test
	public void testRemoveVsRenameWithTransitionConflictPickRename() throws Exception {
		mtf.initialize("NotepadMergeListingTest", new ProgramModifierListener() {

			// primary global "XXX" @ "0x1002721"
			// primary global "YYY" @ "0x1003075"
			// non-primary global "ZZZ" @ "0x1003075"
			// non-primary global "QQQ" @ "0x1003075"
			// primary global "DDD" @ "0x10044d0"
			// non-primary global "EEE" @ "0x1004bdc"
			// primary global "AAA" @ "0x100e483"

			@Override
			public void modifyLatest(ProgramDB program) {
				try {
					SymbolTable symtab = program.getSymbolTable();

					symtab.removeSymbolSpecial(getGlobalSymbol(program, "0x10044d0", "DDD"));
					createScopedSymbol(program, "0x10044d0", "DDD");
					createGlobalSymbol(program, "0x10044d0", "DDDEEE");

					Symbol s = getGlobalSymbol(program, "0x1004bdc", "EEE");
					Namespace scope = program.getSymbolTable().getNamespace(s.getAddress());
					s.setNamespace(scope);
					s.setName("EEEFFF", SourceType.USER_DEFINED);
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}

			@Override
			public void modifyPrivate(ProgramDB program) {
				try {
					SymbolTable symtab = program.getSymbolTable();

					Symbol s = getGlobalSymbol(program, "0x10044d0", "DDD");
					Namespace scope = program.getSymbolTable().getNamespace(s.getAddress());
					s.setNamespace(scope);
					s.setName("DDDEEE", SourceType.USER_DEFINED);

					symtab.removeSymbolSpecial(getGlobalSymbol(program, "0x1004bdc", "EEE"));
					createScopedSymbol(program, "0x1004bdc", "EEE");
					createGlobalSymbol(program, "0x1004bdc", "EEEFFF");
				}
				catch (Exception e) {
					Assert.fail(e.getMessage());
				}
			}
		});

		executeMerge(ASK_USER);
		chooseRadioButton(MY_BUTTON); // remove or rename DDDEEE
		chooseRadioButton(LATEST_BUTTON); // remove or rename EEEFFF
		waitForMergeCompletion();

		SymbolTable symtab = resultProgram.getSymbolTable();
		Address addr10044d0 = addr(resultProgram, "0x10044d0");
		Address addr1004bdc = addr(resultProgram, "0x1004bdc");
		assertNotNull(symtab.getSymbol("DDDEEE", addr10044d0, null));
		assertNotNull(symtab.getSymbol("DDDEEE", addr10044d0, symtab.getNamespace(addr10044d0)));
		assertNull(
			symtab.getSymbol("DDDEEE_conflict1", addr10044d0, symtab.getNamespace(addr10044d0)));
		assertNotNull(symtab.getSymbol("EEEFFF", addr1004bdc, null));
		assertNotNull(symtab.getSymbol("EEEFFF", addr1004bdc, symtab.getNamespace(addr1004bdc)));
		assertNull(symtab.getSymbol("EEEFFF_conflict1", addr1004bdc, null));
	}
Test a conflict between a global namespace symbol being removed in
one program (LATEST or CHECKED OUT) and its name changed in the other.
@throws Exception
Ghidra/Features/Base/src/test.slow/java/ghidra/app/merge/listing/SymbolMergeManager1Test.java