private Szo getLegtobbEgyezes(Mondat mondat, List<Szo> potencialisSzavak) {
        Map<Integer, List<Szo>> map = new TreeMap<>();
        int i = 1;
        while (i == 1 || map.get(i - 1) != null) {
            for (Szo szo : potencialisSzavak) {
                for (String szavaim : mondat.getMondat().split(" ")) {
                    if (szo.getSzo().length() >= i && szavaim.length() >= i && szo.getSzo().substring(0, i).equals(szavaim.substring(0, i))) {
                        if (map.get(i) == null) {
                            map.put(i, new ArrayList<Szo>());
                        }
                        List<Szo> tmp = map.get(i);
                        tmp.add(szo);
                        map.put(i, tmp);
                    }
                }
            }
            i++;
        }

        return getLegkisebb(map.get(i - 2));
    }