private static List findIntersectionNodes(PolygonizeDirectedEdge startDE,long label){
  PolygonizeDirectedEdge de=startDE;
  List intNodes=null;
  do {
    Node node=de.getFromNode();
    if (getDegree(node,label) > 1) {
      if (intNodes == null)       intNodes=new ArrayList();
      intNodes.add(node);
    }
    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 intNodes;
}

private static List findIntersectionNodes ( PolygonizeDirectedEdge startDE , long label ) { PolygonizeDirectedEdge de = startDE ; List intNodes = null ; do { Node node = de . getFromNode ( ) ; if ( getDegree ( node , label ) > 1 ) { if ( intNodes == null ) intNodes = new ArrayList ( ) ; intNodes . add ( node ) ; } 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 intNodes ; }
finds all nodes in a maximal edgering which are self - intersection nodes
