question: private static void computeNextCCWEdges ( Node node , long label ) { DirectedEdgeStar deStar = node . getOutEdges ( ) ; PolygonizeDirectedEdge firstOutDE = null ; PolygonizeDirectedEdge prevInDE = null ; List edges = deStar . getEdges ( ) ; for ( int i = edges . size ( ) - 1 ; i >= 0 ; i -- ) { PolygonizeDirectedEdge de = ( PolygonizeDirectedEdge ) edges . get ( i ) ; PolygonizeDirectedEdge sym = ( PolygonizeDirectedEdge ) de . getSym ( ) ; PolygonizeDirectedEdge outDE = null ; if ( de . getLabel ( ) == label ) outDE = de ; PolygonizeDirectedEdge inDE = null ; if ( sym . getLabel ( ) == label ) inDE = sym ; if ( outDE == null && inDE == null ) continue ; if ( inDE != null ) { prevInDE = inDE ; } if ( outDE != null ) { if ( prevInDE != null ) { prevInDE . setNext ( outDE ) ; prevInDE = null ; } if ( firstOutDE == null ) firstOutDE = outDE ; } } if ( prevInDE != null ) { Assert . isTrue ( firstOutDE != null ) ; prevInDE . setNext ( firstOutDE ) ; } }
target:  Computes the next edge pointers going CCW around the given node, for the given edgering label. This algorithm has the effect of converting maximal edgerings into minimal edgerings