public Path[] chooseStartingPaths(final int nedges,final Path[] paths){
  final List<Path> tmp=new LinkedList<Path>();
  Arrays.sort(paths,0,paths.length,EstimatedCardinalityComparator.INSTANCE);
  for (int i=0; i < paths.length && i < nedges; i++) {
    tmp.add(paths[i]);
  }
  return tmp.toArray(new Path[tmp.size()]);
}

public Path [ ] chooseStartingPaths ( final int nedges , final Path [ ] paths ) { final List < Path > tmp = new LinkedList < Path > ( ) ; Arrays . sort ( paths , 0 , paths . length , EstimatedCardinalityComparator . INSTANCE ) ; for ( int i = 0 ; i < paths . length && i < nedges ; i ++ ) { tmp . add ( paths [ i ] ) ; } return tmp . toArray ( new Path [ tmp . size ( ) ] ) ; }
choose the starting vertices .
