public static LanguageVersionException checkForLanguageChange(LanguageNotFoundException e,
			LanguageID languageID, int languageVersion) throws LanguageNotFoundException {

		LanguageTranslator languageUpgradeTranslator =
			LanguageTranslatorFactory.getLanguageTranslatorFactory()
					.getLanguageTranslator(languageID, languageVersion);
		if (languageUpgradeTranslator == null) {
			throw e;
		}

		Language oldLanguage = languageUpgradeTranslator.getOldLanguage();
		LanguageID oldLanguageID = oldLanguage.getLanguageID();

		LanguageVersionException ve =
			new LanguageVersionException(oldLanguage, languageUpgradeTranslator);
		LanguageID newLangName = languageUpgradeTranslator.getNewLanguage().getLanguageID();
		String message;
		if (oldLanguageID.equals(newLangName)) {
			message = "Program requires a processor language version change";
		}
		else {
			message = "Program requires a processor language change to: " + newLangName;
		}
		ve.setDetailMessage(message);
		return ve;
	}
Determine if a missing language resulting in a {@link LanguageNotFoundException} can be 
upgraded to a replacement language via a language translation.
@param e original {@link LanguageNotFoundException}
@param languageID language ID of original language requested
@param languageVersion original language major version
@return upgradeable {@link LanguageVersionException}
@throws LanguageNotFoundException original exception if a language transaltion is not available
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/lang/LanguageVersionException.java