@Override
 public void compare(IntGraph otherGraph, GraphDifference.Callback callback) {
   GraphDiscretePartitionRefiner refiner = new GraphDiscretePartitionRefiner();
   refiner.getAutomorphismGroup(otherGraph);
   BigInteger cert = refiner.calculateCertificate(refiner.getBest());
   if (graphs.containsKey(cert)) {
     IntGraph graph = graphs.get(cert);
     //            System.out.println(cert + " " + graph + " = " + otherGraph);
     callback.same(graph, otherGraph);
   } else {
     callback.different(null, otherGraph); // TODO!
   }
 }
 @Override
 public void add(IntGraph graph) {
   GraphDiscretePartitionRefiner refiner = new GraphDiscretePartitionRefiner();
   refiner.getAutomorphismGroup(graph);
   graphs.put(refiner.getCertificate(), graph);
 }