public static String getUniqueName(SymbolTable symbolTable, String name, Address address,
			Namespace namespace1, Namespace namespace2, SymbolType type) {

		String newName = name;
		int i = 1;
		for (; i < Integer.MAX_VALUE; i++) {
			boolean canCreateSymbol1 =
				isUniqueSymbolName(symbolTable, namespace1, newName, address, type);
			boolean canCreateSymbol2 =
				isUniqueSymbolName(symbolTable, namespace2, newName, address, type);

			if (canCreateSymbol1 && canCreateSymbol2) {
				return newName;
			}
			newName = name + ProgramMerge.SYMBOL_CONFLICT_SUFFIX + i;
		}
		throw new AssertException("This is crazy!");
	}
Create a name that is unique in both namespaces of the given symbolTable.

@param symbolTable the symbolTable where the symbol will be created.
@param name the desired name. This name will be given a conflict suffix if necessary
to make it unique.
@param address the address of the symbol.
@param namespace1 the first namespace where the new symbol should be unique. 
This namespace must be from the same program as the symbol table.
@param namespace2 the second namespace where the new symbol should be unique.
This namespace must be from the same program as the symbol table.
@param type the symbol type of the symbol.
@return a unique name for both namespaces.
Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramMerge.java