Cycle breaking in the bounds takes care of singly recursive datatypes, so we don't need to do it again;
the effect of removing the constraint varies on problem to problem, but it tends to be overwhelmingly negative in conjuction with the new datatype sym breaking stuff at high cardinalities
/***************************************************************************
Title: GraphBrowser/DummyVertex.java
Author: Stefan Berghofer, TU Muenchen
This class represents a dummy vertex, which is used to simplify the
layout algorithm.
***************************************************************************/
package GraphBrowser;
import java.awt.*;
class DummyVertex extends Vertex {
public boolean isDummy() {return true;}
public Object clone() {
Vertex ve=new DummyVertex();
ve.setX(getX());ve.setY(getY());
return ve;
}
public int leftX() { return getX(); }
public int rightX() { return getX(); }
public void draw(Graphics g) {}
}