code: 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;
    }
docs: Find the column with the fewest choices.
  @return The column header