private static UndirectedGraphNode getUnvisitedChildNode(UndirectedGraphNode node){
        for(UndirectedGraphNode neighbor : node.neighbors){
            if(neighbor.visited == false) return neighbor;
        }
        return null;
    }