private ArrayList<LlistaNgrames> addChar(ArrayList<LlistaNgrames> llista, char c) {
        ArrayList<LlistaNgrames> llistaBuida = new ArrayList<LlistaNgrames>();

        if (llista.isEmpty()) {
            LlistaNgrames ln = new LlistaNgrames(c);
            llistaBuida.add(ln);
        } else {
            for (LlistaNgrames ln : llista) {
                if(coder.containsKey(ln.getLast()+c)) {
                    llistaBuida.add(ln.junt(c));
                }

                LlistaNgrames aux = cod(ln);
                if(aux!=null) {
                    double p = coder.get(aux.getLast()).getSecond();
                    LlistaNgrames tmp = aux.separat(c);
                    tmp.addProb(p);
                    llistaBuida.add(tmp);
                }
            }
        }

        return llistaBuida;
    }