private int wuHuberman(Graph<Node, Edge> graph, int clusterCandidates) {
   VoltageClusterer<Node, Edge> algorithm =
       new VoltageClusterer<Node, Edge>(graph, clusterCandidates);
   int groupCounter = 0;
   for (Set<Node> set : algorithm.cluster(clusterCandidates)) {
     for (Node n : set) {
       n.setGroup(String.valueOf(groupCounter));
     }
     ++groupCounter;
   }
   return groupCounter;
 }
 private int grivanNewman(Graph<Node, Edge> graph, int numEdgesToRemove) {
   EdgeBetweennessClusterer<Node, Edge> algorithm =
       new EdgeBetweennessClusterer<Node, Edge>(numEdgesToRemove);
   int groupCounter = 0;
   for (Set<Node> set : algorithm.transform(graph)) {
     for (Node n : set) {
       n.setGroup(String.valueOf(groupCounter));
     }
     ++groupCounter;
   }
   return groupCounter;
 }