private void sortShellsAndHoles(List edgeRings,List shellList,List freeHoleList){
  for (Iterator it=edgeRings.iterator(); it.hasNext(); ) {
    EdgeRing er=(EdgeRing)it.next();
    if (er.isHole()) {
      freeHoleList.add(er);
    }
 else {
      shellList.add(er);
    }
  }
}

private void sortShellsAndHoles ( List edgeRings , List shellList , List freeHoleList ) { for ( Iterator it = edgeRings . iterator ( ) ; it . hasNext ( ) ; ) { EdgeRing er = ( EdgeRing ) it . next ( ) ; if ( er . isHole ( ) ) { freeHoleList . add ( er ) ; } else { shellList . add ( er ) ; } } }
for all rings in the input list , determine whether the ring is a shell or a hole and add it to the appropriate list . due to the way the directededges were linked , a ring is a shell if it is oriented cw , a hole otherwise .
