public static Digraph transform(Digraph result,
DigraphIteration source,
Transformer vertexTransform,
Transformer arcTransform) {
for (Iterator i = new TransformIterator(source.vertexIterator(), vertexTransform);
i.hasNext();) {
result.addVertex(i.next());
}
for (ArcIterator i = new TransformArcIterator(source.arcIterator(), vertexTransform, arcTransform);
i.hasNext();) {
Object arc = i.next();
Object origin = i.getOrigin();
Object dst = i.getDestination();
result.putArc(origin, dst, arc);
}
return result;
}