public static SymbolPath consolidateSymbolPath(MDParsableItem parsableItem,
			String regularPathName, boolean simple) {
		List<String> demangledParts = new ArrayList<>();
		// When simple is true, we need to recurse the nested hierarchy to pull the names
		// up to the main namespace level, so we set recurse = true
		recurseNamespace(demangledParts, parsableItem, simple);
		List<String> regularParts = SymbolPathParser.parse(regularPathName);

		int m = Integer.min(demangledParts.size(), regularParts.size());

		List<String> parts = new ArrayList<>();
		for (int i = 1; i <= m; i++) {
			int ni = demangledParts.size() - i;
			String n = demangledParts.get(ni);
			// Prefer the mangled part, but could get more sophisticated and decide to use
			// regular parts too
			parts.add(0, n);
		}
		for (int i = m + 1; i <= regularParts.size(); i++) {
			int ri = regularParts.size() - i;
			String r = regularParts.get(ri);
			if (r.equals("`anonymous-namespace'")) {
				parts.add(0, "`anonymous namespace'");
			}
			else {
				parts.add(0, r);
			}
		}
		for (int i = m + 1; i <= demangledParts.size(); i++) {
			int ni = demangledParts.size() - i;
			String n = demangledParts.get(ni);
			parts.add(0, n);
		}

		SymbolPath sp = null;
		for (String part : parts) {
			sp = new SymbolPath(sp, part);
		}
		return sp;
	}
Given a number in string format as input, creates the standardized local namespace
 node string of the format {@code __l2} where {@code 2} is an example number.
@param localNumber the input string
@return the standardized local namespace component
Ghidra/Features/MicrosoftDmang/src/main/java/mdemangler/MDMangUtils.java