private Symbol updateExternalSymbol(Program program, Address externalAddr, String symbolName,
			Demangled demangledNamespace) {

		SymbolTable symbolTable = program.getSymbolTable();
		Symbol s = symbolTable.getPrimarySymbol(externalAddr);
		if (s == null) {
			Msg.error(DemangledObject.class,
				"No such external address " + externalAddr + " for " + symbolName);
		}

		try {
			Namespace ns =
				createNamespace(program, demangledNamespace, s.getParentNamespace(), false);
			ExternalLocation extLoc = s.getProgram().getExternalManager().getExternalLocation(s);
			extLoc.setName(ns, symbolName, SourceType.IMPORTED);
		}
		catch (Exception e) {
			Msg.error(DemangledObject.class,
				"Unexpected Exception setting name and namespace for " + symbolName + " in " +
					s.getParentNamespace(),
				e);
		}
		return s;
	}
Creates descriptive text that is intended to be used as documentation.  The text defaults
to the original demangled text.  If that is not available, then any text set by
{@link #setBackupPlateComment(String)} will be used.  The last choice for this text is
the signature generated by {@link #getSignature(boolean)}.

@return the text
Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/DemangledObject.java