private static List<Result> getLSADescLang(String queryEnglish, String queryFrench, String queryGerman, double THRESHOLD, int OPTION) {
        double en_value = 0.0, fr_value = 0.0, de_value = 0.0;
        List<Result> resultList = new ArrayList<Result>();
        Map<Integer, Double> english;
        Map<Integer, Double> french;
        Map<Integer, Double> german;
        System.out.println("OPTION = " + OPTION);
        switch (OPTION) {
            case 0:
                System.out.println("0");
                english = getLSADesc(queryEnglish, "en");
                french = getLSADesc(queryFrench, "fr");
                german = getLSADesc(queryGerman, "de");
                for (int i = 0; i <= MAX_RECORD; i++) {
                    en_value = english.get(i) == null ? 0.0 : english.get(i);
                    fr_value = french.get(i) == null ? 0.0 : french.get(i);
                    de_value = german.get(i) == null ? 0.0 : german.get(i);
                    double maxvalue = getMaxValue(new double[]{en_value, fr_value, de_value});
//                    System.out.printf("  %d: %5.2f  %5.2f  %5.2f\n", i + 1, en_value, fr_value, de_value);
                    if (maxvalue >= THRESHOLD && !(maxvalue == 0.0) ) {
                        resultList.add(new Result(i, maxvalue));
                    }
                }
                break;
            case 1:
                System.out.println("1");
                english = getLSADesc(queryEnglish, "en");
                german = getLSADesc(queryGerman, "de");
                for (int i = 0; i <= MAX_RECORD; i++) {
                    en_value = english.get(i) == null ? 0.0 : english.get(i);
                    de_value = german.get(i) == null ? 0.0 : german.get(i);
                    double maxvalue = getMaxValue(new double[]{en_value, de_value});
                    if (maxvalue >= THRESHOLD && !(maxvalue == 0.0) ) {
                        resultList.add(new Result(i, maxvalue));
                    }
                }
                break;
            case 2:
                System.out.println("2");
                english = getLSADesc(queryEnglish, "en");
                french = getLSADesc(queryFrench, "fr");
                for (int i = 0; i <= MAX_RECORD; i++) {
                    en_value = english.get(i) == null ? 0.0 : english.get(i);
                    fr_value = french.get(i) == null ? 0.0 : french.get(i);
                    double maxvalue = getMaxValue(new double[]{en_value, fr_value});
                    if (maxvalue >= THRESHOLD && !(maxvalue == 0.0) ) {
                        resultList.add(new Result(i, maxvalue));
                    }
                }
                break;
            case 3:
                System.out.println("3");
                french = getLSADesc(queryFrench, "fr");
                german = getLSADesc(queryGerman, "de");
                for (int i = 0; i <= MAX_RECORD; i++) {
                    fr_value = french.get(i) == null ? 0.0 : french.get(i);
                    de_value = german.get(i) == null ? 0.0 : german.get(i);
                    double maxvalue = getMaxValue(new double[]{fr_value, de_value});
                    if (maxvalue >= THRESHOLD && !(maxvalue == 0.0) ) {
                        resultList.add(new Result(i, maxvalue));
                    }
                }
                break;
            case 4:
                System.out.println("4");
                english = getLSADesc(queryEnglish, "en");
                for (int i = 0; i <= MAX_RECORD; i++) {
                    en_value = english.get(i) == null ? 0.0 : english.get(i);
                    if (en_value >= THRESHOLD && !(en_value == 0.0) ) {
                        resultList.add(new Result(i, en_value));
                    }
                }
                break;
            case 5:
                System.out.println("5");
                french = getLSADesc(queryFrench, "fr");
                for (int i = 0; i <= MAX_RECORD; i++) {
                    fr_value = french.get(i) == null ? 0.0 : french.get(i);
                    if (fr_value >= THRESHOLD && !(fr_value == 0.0) ) {
                        resultList.add(new Result(i, fr_value));
                    }
                }
                break;
            case 6:
                System.out.println("6");
                german = getLSADesc(queryGerman, "de");
                for (int i = 0; i <= MAX_RECORD; i++) {
                    de_value = german.get(i) == null ? 0.0 : german.get(i);
                    if (de_value >= THRESHOLD && !(de_value == 0.0) ) {
                        resultList.add(new Result(i, de_value));
                    }
                }
                break;
            default:
                english = getLSADesc(queryEnglish, "en");
                french = getLSADesc(queryFrench, "fr");
                german = getLSADesc(queryGerman, "de");
                for (int i = 0; i <= MAX_RECORD; i++) {
                    en_value = english.get(i) == null ? 0.0 : english.get(i);
                    fr_value = french.get(i) == null ? 0.0 : french.get(i);
                    de_value = german.get(i) == null ? 0.0 : german.get(i);
                    double maxvalue = getMaxValue(new double[]{en_value, fr_value, de_value});
                    if (maxvalue >= THRESHOLD && !(maxvalue == 0.0) ) {
                        resultList.add(new Result(i, maxvalue));
                    }
                }
        }
        return resultList;
    }