static int getCountryVariantForLanguage(int langID, int cISOType, String cISOCode) {
        if(ParameterValidator.isEmptyString(cISOCode)) {
            if(LOG.isError()) {
                LOG.error("CountryISOMap.getCountryVariantForLanguage()", 
                          "isoCode was null, returning base language");
            }
            return langID;
        }
        // right now we're only looking at Irish, but we've got a lot more
        // incoming. No support on server yet though, so probably dumb to
        // autodetect them now, let's wait until they actually work :D
        
        // for english it's (from what I know) New Zealand & India
        // probably with same deal as with Irish, eg same lang but different
        // voices
        
        int lang;
        switch(cISOType) {
        case SoftwareInfo.COUNTRY_ISO_3166_1_ALPHA_2:
            lang = readMapForISOMatch(createISO31661ALPHA_2Map(), cISOCode, langID);
            break;
            
        case SoftwareInfo.COUNTRY_ISO_3166_1_ALPHA_3:
            lang = readMapForISOMatch(createISO31661ALPHA_3Map(), cISOCode, langID);
            break;
            
        default:
            if(LOG.isWarn()) {
                LOG.warn("LanguageISOMap.getLanguageForISOCode()", 
                         "Unable to use the language ISO type, using base " +
                         "language");
            }
            lang = langID;
        }
        return lang;
    }