code: private void advance() {
          while (nextSubgraphs.isEmpty() && vertexIter.hasNext()) {
              Integer nextVertex = vertexIter.next();
              // Determine the set of vertices that are greater than this vertex
              Set<Integer> extension = new HashSet<Integer>();
              for (Integer v : g.getNeighbors(nextVertex))
                  if (v > nextVertex)
                      extension.add(v);
              Set<Integer> subgraph = new HashSet<Integer>();
              subgraph.add(nextVertex);
              extendSubgraph(subgraph, extension, nextVertex);
          }
      }
docs: If the {@code nextSubgraphs} queue is empty, expands the graph frontier
  of the next available vertex, if one exists, and the subgraphs reachable
  from it to the queue.