protected int selectItem(IntSortedSet remainingI,List<Tuple2od<I>> list){
  double[] max=new double[]{Double.NEGATIVE_INFINITY};
  int[] bestI=new int[]{remainingI.firstInt()};
  remainingI.forEach(null);
  return bestI[0];
}

protected int selectItem ( IntSortedSet remainingI , List < Tuple2od < I > > list ) { double [ ] max = new double [ ] { Double . NEGATIVE_INFINITY } ; int [ ] bestI = new int [ ] { remainingI . firstInt ( ) } ; remainingI . forEach ( null ) ; return bestI [ 0 ] ; }
selects the next element of the permutation that maximizes the objective function .
