private int addValue(
      final Object extraData,
      final int row,
      final DefaultTableModel model,
      final String desc,
      final int count,
      final AnnotatedRowsResult sampleResult) {
    model.setValueAt(desc, row, 0);
    if (sampleResult == null || count == 0) {
      model.setValueAt(count, row, 1);
    } else {
      final DCPanel panel = new DCPanel();
      panel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0));

      final JLabel label = new JLabel(count + "");
      final JButton button = WidgetFactory.createSmallButton(IconUtils.ACTION_DRILL_TO_DETAIL);
      button.addActionListener(
          new ActionListener() {
            @Override
            public void actionPerformed(final ActionEvent e) {
              drillToGroup(desc, sampleResult);
            }
          });

      panel.add(label);
      panel.add(Box.createHorizontalStrut(4));
      panel.add(button);

      model.setValueAt(panel, row, 1);
    }

    addExtraValue(extraData, row, model, desc, count, sampleResult);
    return row + 1;
  }