private static LinkedList<Vertex> getUnobstructedVertices(LinkedList<Vertex> vertices)
    {
        LinkedList<Vertex> unobstructed = new LinkedList<>();
        addNeighbours(unobstructed);
        while (vertices.hasNext())
        {
            Vertex q = vertices.getNext();
            if (src == q || !q.isVertex()) continue;
            if (!isObstructed(q))
                unobstructed.add(q);
        }
        vertices.reset();
        return unobstructed;
    }