private ColumnHeader < ColumnName > findBestColumn ( ) { int lowSize = Integer . MAX_VALUE ; ColumnHeader < ColumnName > result = null ; ColumnHeader < ColumnName > current = ( ColumnHeader < ColumnName > ) head . right ; while ( current != head ) { if ( current . size < lowSize ) { lowSize = current . size ; result = current ; } current = ( ColumnHeader < ColumnName > ) current . right ; } return result ; }
Find the column with the fewest choices .