private DemangledType convertToNamespaces(List<String> names) {
		if (names.isEmpty()) {
			return null;
		}
		int index = names.size() - 1;
		String rawName = names.get(index);
		String escapedName = removeBadSpaces(rawName);
		DemangledType myNamespace = new DemangledType(mangledSource, demangledSource, escapedName);

		DemangledType namespace = myNamespace;
		while (--index >= 0) {
			rawName = names.get(index);
			escapedName = removeBadSpaces(rawName);
			DemangledType parentNamespace =
				new DemangledType(mangledSource, demangledSource, escapedName);
			namespace.setNamespace(parentNamespace);
			namespace = parentNamespace;
		}
		return myNamespace;
	}
Converts the list of names into a namespace demangled type.
Given names = { "A", "B", "C" }, which represents "A::B::C".
The following will be created {@literal "Namespace{A}->Namespace{B}->Namespace{C}"}
and Namespace{C} will be returned.

<p>This method will also escape spaces separators inside of templates
(see {@link #removeBadSpaces(String)}).

@param names the names to convert
@return the newly created type
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/rust/demangler/RustDemanglerParser.java