private static List<VoieDeCirculation> parcoursGraphe(Intersection intersectionPrecendente, Intersection depart, Intersection arrivee) {
        List<VoieDeCirculation> parcours = new ArrayList<VoieDeCirculation>();
        parcours.add(depart);
        for (Route r : depart.getRoutes()) {
            List<VoieDeCirculation> tmp = null;
            //if (!(r instanceof RueImpasse)) {
            if (r.getArrivee().equals(arrivee)) {
                parcours.add(r);
                parcours.add(r.getArrivee());
                return (parcours);
            } else if (intersectionPrecendente != null) {
                if (!intersectionPrecendente.equals(r.getArrivee())) {
                    tmp = parcoursGraphe(depart, r.getArrivee(), arrivee);
                }
            } else if (intersectionPrecendente == null) {
                tmp = parcoursGraphe(depart, r.getArrivee(), arrivee);
            }
            if (tmp != null) {
                parcours.add(r);
                parcours.addAll(tmp);
                return (parcours);
            }
            //}
        }

        return null;
    }