private static String getDemangledQualifiedName(String mangledString) {
		if (mangledString.charAt(0) != '?') {
			return null;
		}
		MDMangGhidra demangler = new MDMangGhidra();
		demangler.setMangledSymbol(mangledString);
		demangler.setErrorOnRemainingChars(true);
		try {
			MDParsableItem parsableItem = demangler.demangle();
			if (parsableItem instanceof MDObjectCPP) {
				MDObjectCPP mdObject = (MDObjectCPP) parsableItem;
				return mdObject.getQualifiedName().toString();
			}
			return parsableItem.toString();
		}
		catch (MDException e) {
			// Couldn't demangle.
			Msg.info(null, e.getMessage());
			return null;
		}
	}
Gets a demangles the name and returns the qualified name. Returns null if not mangled
or if error in demangling.
@param mangledString the mangled string to be decoded
@return the qualified name of the demangled string or null if not mangled or error.
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/PdbResearch.java