PathUtils { public static List<Line> constructPath(final LineLinkedListElement dest) { ArrayList<Line> path = new ArrayList<Line>(); if (dest != null) { path.add(dest.getLine()); LineLinkedListElement akt = dest; while (akt.getPrevious() != null) { akt = akt.getPrevious(); if (path.contains(akt.getLine())) { return null; } path.add(0, akt.getLine()); } } return path; } private  PathUtils(); static int getLength(final List<Line> path, final Line start,
                                final Line end); static int getLength(final List<Line> path); static boolean checkPathConnection(final List<Line> path); static List<Line> constructPath(final LineLinkedListElement dest); static LineLinkedListElement findElementInQueue(
            final Queue<? extends LineLinkedListElement> pq, final Line line); static Line findCommonLineInPaths(final List<? extends Line> location,
                                             final LineLinkedListElement el);  }
@Test public final void testConstructPath() { assertEquals(PathUtils.constructPath(elem4), path); assertEquals(PathUtils.constructPath(null), emptyPath); assertNull(PathUtils.constructPath(elem5)); }