code: @Override
      public List<ColumnDescription> getColumnDescriptions(
              TitleAndCount[] items, boolean showAll, BaseReportForm form) {
          String description = null;
          int multipleValues = 0;
          for (TitleAndCount item : items) {
              if (item.getCriteriaValuesSelected() > 1 || showAll) {
                  multipleValues++;
                  description =
                          description == null
                                  ? item.getCriteriaItem()
                                  : description + displaySeparator + item.getCriteriaItem();
              }
          }
          // If all items have 1 value selected or if there is only 1 item, make the
          // first item the column descriptor.
          if (multipleValues == 0 || items.length == 1) {
              description = items[0].getCriteriaItem();
          }
  
          final List<ColumnDescription> columnDescriptions = new ArrayList<ColumnDescription>();
          columnDescriptions.add(new ColumnDescription(description, ValueType.NUMBER, description));
          return columnDescriptions;
      }
docs: Create column descriptions for the portlet report. The column descriptions are essentially
  the opposite of the title description changes. Those items that have size > 1 (more than one
  value selected in the report criteria) are displayed in the column description. If all items
  have only 1 value selected, the first item will be the column description.
  
  @param items ordered array of items in the report. NOTE: item ordering must be the same as
  with getReportTitleAugmentation
  @param showAll true to include all item descriptions in the column headings. Useful if report
  is being written to CSV, XML, HTML, etc. for importing into another tool
  @param form statistics report form
  @return List of column descriptions for the report