public String getShortestExample(Boolean accept) {

        String path = "";
        Queue<ArrayList<Integer>> holder = new LinkedList();
        List<ArrayList<Integer>> visited = new LinkedList();
        Map<ArrayList<Integer>, ArrayList<Integer>> vertmap = new HashMap<ArrayList<Integer>, ArrayList<Integer>>();

        ArrayList<Integer> cur = m_Start;
        holder.add(cur);
        while (!holder.isEmpty()) {
            cur = holder.remove();
            if (cur.equals(m_Final)) {
                break;
            } else {
                for (ArrayList<Integer> vert : getConnectedVertices(cur)) {
                    if (!visited.contains(vert)) {
                        holder.add(vert);
                        visited.add(vert);

                        vertmap.put(vert, cur);
                    }

                }
            }
        }
        if (!(cur.equals(m_Final) && accept) || (cur.equals(m_Final) && accept)) {
            ArrayList<Integer> prev = m_Final;
            ArrayList<Integer> next;
            for (next = m_Final; !next.equals(m_Start); next = vertmap.get(next)) {
                path = path + getRoadActionChar(next, prev);
                prev = next;
            }
            path = path + getRoadActionChar(next, prev);
            path = new StringBuilder(path).reverse().toString();
            return path;
        }
        return null;
    }