code: private void advance() {
          // If we don't have any simple graphs to return, and there are still
          // more subgraphs, then pick off the next subgraph and decompose it
          if (next.isEmpty() && subgraphIterator.hasNext()) {
              Multigraph<T,E> g = subgraphIterator.next();
  
              // Find all pairs of edges, checking whether the graph is a simple
              // graph already
              boolean isSimpleAlready = true;
              List<IntPair> connected = new ArrayList<IntPair>();
              for (int i : g.vertices()) {
                  for (int j : g.vertices()) {
                      if (i == j)
                          break;
                      Set<E> edges = null;
                      try {
                          edges = g.getEdges(i, j);
                      } catch (NullPointerException npe) {
                          System.out.println("Bad graph? : " + g);
                          throw npe;
                      }
                      int size = edges.size();
                      if (size > 0)
                          connected.add(new IntPair(i, j));
                      if (size > 1)
                          isSimpleAlready = false;
                  }
              }
              // If the subgraph was already a simple graph, then just append it
              // to the list
              if (isSimpleAlready) {
                  // System.out.println("next graph was already simple: " + g);
                  next.add(g);
              }
              // Otherwise, generate a recursive call to enumerate all the
              // simple graphs from this graph
              else {
                  // Create an empty graph which will be populated with a new edge
                  // and then copied 
                  Multigraph<T,E> m = g.copy(Collections.<Integer>emptySet()); //Graphs.asMultigraph(new GenericGraph<E>());
                  next.addAll(enumerateSimpleGraphs(g, connected, 0, m));
              }
          }
      }
docs: Addes the next batch of simple graphs to the {@link #next} queue.