@Override
	public void setNameAndNamespace(String newName, Namespace newNamespace, SourceType source)
			throws DuplicateNameException, InvalidInputException, CircularDependencyException {
		lock.acquire();
		try {
			boolean namespaceChange = !getParentNamespace().equals(newNamespace);
			super.setNameAndNamespace(newName, newNamespace, source);
			if (namespaceChange) {
				functionMgr.functionNamespaceChanged(key);
			}
		}
		finally {
			lock.release();
		}
	}
Construct a new FunctionSymbol
@param symbolMgr the symbol manager.
@param cache symbol object cache
@param address the address for this symbol.
@param record the record for this symbol.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/symbol/FunctionSymbol.java