Program: 79728
Project: 79728
Buggy source:
ColorFilterTable(Map<UUID,ColorFilter> filters,ArrayList<FilterListener> filterListeners){
  this.setModel(new ColorFilterTableModel(filters,filterListeners));
  this.setFillsViewportHeight(true);
  this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
  this.setAutoCreateRowSorter(false);
  this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  this.setRowHeight(20);
  ((JComponent)this.getDefaultRenderer(Boolean.class)).setOpaque(true);
  ((JComponent)this.getDefaultRenderer(JButton.class)).setOpaque(true);
  this.getColumnModel().getColumn(1).setCellRenderer(new FilterRenderer());
  this.getColumnModel().getColumn(2).setCellRenderer(new ColorRenderer(true));
  this.getColumnModel().getColumn(2).setCellEditor(new ColorEditor());
  this.getColumnModel().getColumn(3).setCellRenderer(new ColorRenderer(true));
  this.getColumnModel().getColumn(3).setCellEditor(new ColorEditor());
  this.getColumnModel().getColumn(5).setCellRenderer(new Table.JTableButtonRenderer());
  this.setDragEnabled(true);
  this.setDropMode(DropMode.INSERT);
  int[] minWidths={100,250,50,50,100,100};
  for (int i=0; i < minWidths.length; i++) {
    this.getColumnModel().getColumn(i).setMinWidth(minWidths[i]);
  }
  int[] maxWidths={9999,9999,200,200,100,100};
  for (int i=0; i < maxWidths.length; i++) {
    this.getColumnModel().getColumn(i).setMaxWidth(maxWidths[i]);
  }
  this.setMinimumSize(new Dimension(850,200));
  final JTable _this=this;
  this.addMouseListener(new MouseAdapter(){
    @Override public void mouseReleased(    MouseEvent mouseEvent){
      if (SwingUtilities.isLeftMouseButton(mouseEvent)) {
        int col=_this.columnAtPoint(mouseEvent.getPoint());
        int row=_this.rowAtPoint(mouseEvent.getPoint());
        ((ColorFilterTableModel)getModel()).onClick(row,col);
      }
    }
  }
);
}

Fixed version (ground truth):
ColorFilterTable(Map<UUID,ColorFilter> filters,ArrayList<FilterListener> filterListeners){
  this.setModel(new ColorFilterTableModel(filters,filterListeners));
  this.setFillsViewportHeight(true);
  this.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
  this.setAutoCreateRowSorter(false);
  this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  this.setRowHeight(20);
  ((JComponent)this.getDefaultRenderer(Boolean.class)).setOpaque(true);
  ((JComponent)this.getDefaultRenderer(JButton.class)).setOpaque(true);
  this.getColumnModel().getColumn(1).setCellRenderer(new FilterRenderer());
  this.getColumnModel().getColumn(2).setCellRenderer(new ColorRenderer(true));
  this.getColumnModel().getColumn(2).setCellEditor(new ColorEditor());
  this.getColumnModel().getColumn(3).setCellRenderer(new ColorRenderer(true));
  this.getColumnModel().getColumn(3).setCellEditor(new ColorEditor());
  this.getColumnModel().getColumn(5).setCellRenderer(new LogTable.JTableButtonRenderer());
  this.setDragEnabled(true);
  this.setDropMode(DropMode.INSERT);
  int[] minWidths={100,250,50,50,100,100};
  for (int i=0; i < minWidths.length; i++) {
    this.getColumnModel().getColumn(i).setMinWidth(minWidths[i]);
  }
  int[] maxWidths={9999,9999,200,200,100,100};
  for (int i=0; i < maxWidths.length; i++) {
    this.getColumnModel().getColumn(i).setMaxWidth(maxWidths[i]);
  }
  this.setMinimumSize(new Dimension(850,200));
  final JTable _this=this;
  this.addMouseListener(new MouseAdapter(){
    @Override public void mouseReleased(    MouseEvent mouseEvent){
      if (SwingUtilities.isLeftMouseButton(mouseEvent)) {
        int col=_this.columnAtPoint(mouseEvent.getPoint());
        int row=_this.rowAtPoint(mouseEvent.getPoint());
        ((ColorFilterTableModel)getModel()).onClick(row,col);
      }
    }
  }
);
}