static int getLanguageForISOCode(int isoType, String isoCode) {
        if(ParameterValidator.isEmptyString(isoCode)) {
            if(LOG.isError()) {
                LOG.error("LanguageISOMap.getLanguageForISOCode()", 
                          "isoCode was null, returning " + LanguageFactory.getDefaultLangNameDebug());
            }
            return LanguageFactory.DEFAULT_LANGUAGE;
        }
        int lang;
        switch(isoType) {
        case SoftwareInfo.LANGUAGE_ISO_639_1:
            if(LOG.isTrace()) {
                LOG.trace("LanguageISOMap.getLanguageForISOCode()", 
                          "Language reported as ISO 639-1");
            }
            lang = readMapForISOMatch(createISO6391Map(), isoCode);
            break;

        case SoftwareInfo.LANGUAGE_ISO_639_2:
            if(LOG.isTrace()) {
                LOG.trace("LanguageISOMap.getLanguageForISOCode()", 
                          "Language reported as ISO 639-2");
            }
            lang = readMapForISOMatch(createISO6392Map(), isoCode);
            break;

        case SoftwareInfo.LANGUAGE_ISO_639_3:
            if(LOG.isTrace()) {
                LOG.trace("LanguageISOMap.getLanguageForISOCode()", 
                          "Language reported as ISO 639-3");
            }
            lang = readMapForISOMatch(createISO6393Map(), isoCode);
            break;
        
        default:
            if(LOG.isWarn()) {
                LOG.warn("LanguageISOMap.getLanguageForISOCode()", 
                         "Unable to use the language ISO type, defaulting to " +
                         LanguageFactory.getDefaultLangNameDebug());
            }
            lang = LanguageFactory.DEFAULT_LANGUAGE;
        }
        return lang;
    }