@Override
    public void processVertex(Integer vertex) {
        super.processVertex(vertex);
        if (!color.containsKey(vertex))
            color.put(vertex, true); // black
        else
            color.put(vertex, !color.get(queue.peek()));
    }
If there is a cycle with odd number of vertices, that graph cannot be bipartite. To check if graph has odd
cycle, we traverse the graph with bfs and paint current node with white and its children with black.
if any node has the same color as its parent, there is odd cycle.
src/algo/graph/IsBipartite.java