public static List findDirEdgesInRing(PolygonizeDirectedEdge startDE){
  PolygonizeDirectedEdge de=startDE;
  List edges=new ArrayList();
  do {
    edges.add(de);
    de=de.getNext();
    Assert.isTrue(de != null,"found null DE in ring");
    Assert.isTrue(de == startDE || !de.isInRing(),"found DE already in ring");
  }
 while (de != startDE);
  return edges;
}

public static List findDirEdgesInRing ( PolygonizeDirectedEdge startDE ) { PolygonizeDirectedEdge de = startDE ; List edges = new ArrayList ( ) ; do { edges . add ( de ) ; de = de . getNext ( ) ; Assert . isTrue ( de != null , "found null DE in ring" ) ; Assert . isTrue ( de == startDE || ! de . isInRing ( ) , "found DE already in ring" ) ; } while ( de != startDE ) ; return edges ; }
traverses a ring of directededges , accumulating them into a list . this assumes that all dangling directed edges have been removed from the graph , so that there is always a next diredge .
