public static void setUniqueParameterNames(Function function, List<Parameter> parameters)
			throws DuplicateNameException, InvalidInputException {
		SymbolTable symbolTable = function.getProgram().getSymbolTable();

		// Create a set containing all the unique parameter names determined so far so they can
		// be avoided as additional parameter names are determined.
		Set<String> namesSoFar = new HashSet<>();
		for (Parameter parameter : parameters) {
			String baseName = parameter.getName();
			String uniqueName =
				getUniqueReplacementParameterName(symbolTable, function, baseName, namesSoFar);
			namesSoFar.add(uniqueName);
			if (!SystemUtilities.isEqual(baseName, uniqueName)) {
				parameter.setName(uniqueName, parameter.getSource());
			}
		}
	}
Changes the names of the parameters in the array to unique names that won't conflict with
any other names in the function's namespace when the parameters are used to replace
the existing parameters in the function. Appends an integer number to
the base name if necessary to create a unique name in the function's namespace.
@param function the function
@param parameters the parameters that need names that won't conflict. These should be
Impl objects and not DB objects since their names will be changed within this method.
@throws InvalidInputException
@throws DuplicateNameException
Ghidra/Features/Base/src/main/java/ghidra/program/util/FunctionUtility.java