final DFSTBuilder<Node> builder = new DFSTBuilder<Node>(graph);
final TIntArrayList sccs = builder.getSCCs();
final List<Chunk<Node>> chunks = new ArrayList<Chunk<Node>>(sccs.size());
final Map<Node, Chunk<Node>> nodeToChunkMap = new LinkedHashMap<Node, Chunk<Node>>();
sccs.forEach(new TIntProcedure() {
int myTNumber = 0;
public boolean execute(int size) {
final Set<Node> chunkNodes = new LinkedHashSet<Node>();
final Chunk<Node> chunk = new Chunk<Node>(chunkNodes);
chunks.add(chunk);