}
if (objectcompare != 0) return objectcompare;
}
} else {
Preconditions.checkArgument(r1.isEdge() && r2.isEdge());
int vertexcompare = r1.getVertex(EdgeDirection.position(dir1.opposite())).
compareTo(r2.getVertex(EdgeDirection.position(dir1.opposite())));
if (vertexcompare != 0) return vertexcompare;
}
//TODO: if graph is simple, return 0
// 5)compare relation ids