public LanguageCompilerSpecPair parseLanguageCompileSpecPair(String languageString)
			throws ValuesMapParseException {

		if (languageString.isBlank()) {
			return null;
		}
		// Split on last colon to get separated languageID and compilerSpecID
		int lastColon = languageString.lastIndexOf(':');
		if (lastColon < 1) {
			throw new ValuesMapParseException(getName(), "Language/Compiler Spec",
				"Could not parse \"" + languageString + "\".");
		}

		Set<LanguageCompilerSpecPair> languages = getLanguagesCompilerPairs();

		String langId = languageString.substring(0, lastColon);
		String compilerId = languageString.substring(lastColon + 1);

		LanguageCompilerSpecPair storedLCS = new LanguageCompilerSpecPair(langId, compilerId);
		if (!languages.contains(storedLCS)) {
			throw new ValuesMapParseException(getName(), "Language/Compiler Spec",
				"Unknown language/Compiler Pair for \"" + languageString + "\"");
		}
		return storedLCS;
	}
Parses a LanguageCompilerSpecPair from a string. 

@param languageString The string to parse.
@return The LanguageCompilerSpecPair parsed from a string or null if the string does
not parse to a known language-compiler pair.
@throws ValuesMapParseException if the value can't be parsed into a LanguageComilerSpecPair
Ghidra/Features/Base/src/main/java/ghidra/features/base/values/LanguageValue.java