public static LanguageCompilerSpecPair processXmlLanguageString(String languageString) {
		if (languageString == null) {
			return null;        // XML file didn't specify a specific language, nothing to do
		}

		// look for new mangled languageID and compilerSpecID  ( languageID + ":" + compilerSpecID );
		int index = languageString.lastIndexOf(':');
		if (index > 0) {
			LanguageCompilerSpecPair pair =
				new LanguageCompilerSpecPair(new LanguageID(languageString.substring(0, index)),
					new CompilerSpecID(languageString.substring(index + 1)));
			return OldLanguageMappingService.validatePair(pair);  // may alter compiler spec
		}
		return lookupMagicString(languageString, true);
	}
Parse the language string from an XML language name into the most appropriate LanguageID/CompilerSpec pair.
The language name may either be an old name (i.e., magicString) or a new {@code <language-id>:<compiler-spec-id>} string.
If an old language name magic-string is provided, its replacement language will be returned if known.
The returned pair may or may not be available based upon available language implementations.
@param languageString old or new language string
@return LanguageID/CompilerSpec pair or null if no old name mapping could be found.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/OldLanguageMappingService.java