private static void parseReplacement(String line, ResourceFile file,
			List<GnuDemanglerReplacement> results) {

		for (int i = 0; i < line.length(); i++) {
			char c = line.charAt(i);
			if (Character.isWhitespace(c)) {
				String replace = line.substring(0, i).trim();

				// special case
				if (replace.equals("\"\"")) {
					replace = StringUtils.EMPTY;
				}

				String find = line.substring(i).trim();
				results.add(new GnuDemanglerReplacement(find, replace, file));

				// 
				// We have disabled some global text replacements.  Instead of globally replacing
				// them, we will update each replacement to handle the special case when it starts
				// at the beginning of the replacement.
				//
				createAlternateReplacement("std::__cxx11::", find, replace, file, results);
				createAlternateReplacement("__gnu_cxx::", find, replace, file, results);

				return;
			}
		}

		Msg.warn(GnuDemanglerParser.class,
			"Malformed replacement line.  No spaces found: " + line + ". In file: " + file);
	}
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/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerParser.java