Program: 6935
Project: 6935
Buggy source:
public TrackList(final RobonoboFrame frame,TrackListTableModel model){
  this.model=model;
  this.frame=frame;
  log=LogFactory.getLog(getClass());
  setLayout(new GridLayout(1,0));
  setBorder(BorderFactory.createEmptyBorder(0,1,0,1));
  table=new JXTable(model);
  table.setFont(RoboFont.getFont(13,false));
  table.setRowHeight(21);
  table.setColumnControlVisible(true);
  table.setHorizontalScrollEnabled(true);
  table.setFillsViewportHeight(true);
  table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  table.setBackground(Color.WHITE);
  table.setHighlighters(HighlighterFactory.createSimpleStriping());
  table.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
  table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
    public void valueChanged(    ListSelectionEvent e){
      frame.getPlaybackPanel().trackSelectionChanged();
    }
  }
);
  table.getColumn(0).setCellRenderer(new PlaybackStatusRenderer());
  TextRenderer tr=new TextRenderer();
  table.getColumn(1).setCellRenderer(tr);
  table.getColumn(2).setCellRenderer(tr);
  table.getColumn(3).setCellRenderer(tr);
  table.getColumn(4).setCellRenderer(tr);
  table.getColumn(5).setCellRenderer(tr);
  table.getColumn(6).setCellRenderer(tr);
  table.getColumn(7).setCellRenderer(tr);
  table.getColumn(8).setCellRenderer(new TransferStatusCellRenderer());
  table.getColumn(9).setCellRenderer(tr);
  table.getColumn(10).setCellRenderer(tr);
  table.getColumn(11).setCellRenderer(tr);
  table.getColumn(12).setCellRenderer(tr);
  if (javaMajorVersion() >= 6) {
    table.getTableHeader().setDefaultRenderer(new DefaultTableCellRenderer(){
      ImageIcon ascSortIcon=GUIUtil.createImageIcon("String_Node_Str",null);
      ImageIcon descSortIcon=GUIUtil.createImageIcon("String_Node_Str",null);
      public Component getTableCellRendererComponent(      JTable table,      Object value,      boolean isSelected,      boolean hasFocus,      int row,      int column){
        JLabel result=(JLabel)super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
        result.setFont(RoboFont.getFont(12,false));
        result.setBorder(BorderFactory.createEmptyBorder(3,5,3,0));
        SortOrder so=TrackList.this.table.getSortOrder(column);
        if (so.isSorted()) {
          if (so.isAscending())           setIcon(ascSortIcon);
 else           setIcon(descSortIcon);
        }
 else         result.setIcon(null);
        result.setHorizontalTextPosition(SwingConstants.LEFT);
        return result;
      }
    }
);
  }
  TableColumnModelExt cm=(TableColumnModelExt)table.getColumnModel();
  cm.getColumn(0).setPreferredWidth(22);
  cm.getColumn(1).setPreferredWidth(187);
  cm.getColumn(2).setPreferredWidth(137);
  cm.getColumn(3).setPreferredWidth(139);
  cm.getColumn(4).setPreferredWidth(44);
  cm.getColumn(5).setPreferredWidth(40);
  cm.getColumn(6).setPreferredWidth(47);
  cm.getColumn(7).setPreferredWidth(60);
  cm.getColumn(8).setPreferredWidth(160);
  cm.getColumn(9).setPreferredWidth(80);
  cm.getColumn(10).setPreferredWidth(80);
  cm.getColumn(11).setPreferredWidth(140);
  cm.getColumn(12).setPreferredWidth(300);
  int[] hiddenCols=model.hiddenCols();
  List<TableColumn> cols=cm.getColumns(true);
  for (int i=0; i < hiddenCols.length; i++) {
    TableColumnExt colExt=(TableColumnExt)cols.get(hiddenCols[i]);
    colExt.setVisible(false);
  }
  table.addMouseListener(new MouseAdapter(){
    public void mouseClicked(    MouseEvent e){
      if (e.getClickCount() == 2) {
        frame.getPlaybackPanel().play();
        e.consume();
      }
    }
  }
);
  scrollPane=new JScrollPane(table);
  add(scrollPane,"String_Node_Str");
}

Fixed version (ground truth):
public TrackList(final RobonoboFrame frame,TrackListTableModel model){
  this.model=model;
  this.frame=frame;
  log=LogFactory.getLog(getClass());
  setLayout(new GridLayout(1,0));
  setBorder(BorderFactory.createEmptyBorder(0,1,0,1));
  table=new JXTable(model);
  table.setFont(RoboFont.getFont(13,false));
  table.setRowHeight(21);
  table.setColumnControlVisible(true);
  table.setHorizontalScrollEnabled(true);
  table.setFillsViewportHeight(true);
  table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
  table.setBackground(Color.WHITE);
  table.setHighlighters(HighlighterFactory.createSimpleStriping());
  table.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
  table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
    public void valueChanged(    ListSelectionEvent e){
      frame.getPlaybackPanel().trackSelectionChanged();
    }
  }
);
  table.getColumn(0).setCellRenderer(new PlaybackStatusRenderer());
  TextRenderer tr=new TextRenderer();
  table.getColumn(1).setCellRenderer(tr);
  table.getColumn(2).setCellRenderer(tr);
  table.getColumn(3).setCellRenderer(tr);
  table.getColumn(4).setCellRenderer(tr);
  table.getColumn(5).setCellRenderer(tr);
  table.getColumn(6).setCellRenderer(tr);
  table.getColumn(7).setCellRenderer(tr);
  table.getColumn(8).setCellRenderer(new TransferStatusCellRenderer());
  table.getColumn(9).setCellRenderer(tr);
  table.getColumn(10).setCellRenderer(tr);
  table.getColumn(11).setCellRenderer(tr);
  table.getColumn(12).setCellRenderer(tr);
  if (javaMajorVersion() >= 6) {
    table.getTableHeader().setDefaultRenderer(new DefaultTableCellRenderer(){
      ImageIcon ascSortIcon=GuiUtil.createImageIcon("String_Node_Str",null);
      ImageIcon descSortIcon=GuiUtil.createImageIcon("String_Node_Str",null);
      public Component getTableCellRendererComponent(      JTable table,      Object value,      boolean isSelected,      boolean hasFocus,      int row,      int column){
        JLabel result=(JLabel)super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);
        result.setFont(RoboFont.getFont(12,false));
        result.setBorder(BorderFactory.createEmptyBorder(3,5,3,0));
        SortOrder so=TrackList.this.table.getSortOrder(column);
        if (so.isSorted()) {
          if (so.isAscending())           setIcon(ascSortIcon);
 else           setIcon(descSortIcon);
        }
 else         result.setIcon(null);
        result.setHorizontalTextPosition(SwingConstants.LEFT);
        return result;
      }
    }
);
  }
  TableColumnModelExt cm=(TableColumnModelExt)table.getColumnModel();
  cm.getColumn(0).setPreferredWidth(22);
  cm.getColumn(1).setPreferredWidth(187);
  cm.getColumn(2).setPreferredWidth(137);
  cm.getColumn(3).setPreferredWidth(139);
  cm.getColumn(4).setPreferredWidth(44);
  cm.getColumn(5).setPreferredWidth(40);
  cm.getColumn(6).setPreferredWidth(47);
  cm.getColumn(7).setPreferredWidth(60);
  cm.getColumn(8).setPreferredWidth(160);
  cm.getColumn(9).setPreferredWidth(80);
  cm.getColumn(10).setPreferredWidth(80);
  cm.getColumn(11).setPreferredWidth(140);
  cm.getColumn(12).setPreferredWidth(300);
  int[] hiddenCols=model.hiddenCols();
  List<TableColumn> cols=cm.getColumns(true);
  for (int i=0; i < hiddenCols.length; i++) {
    TableColumnExt colExt=(TableColumnExt)cols.get(hiddenCols[i]);
    colExt.setVisible(false);
  }
  table.addMouseListener(new MouseAdapter(){
    public void mouseClicked(    MouseEvent e){
      if (e.getClickCount() == 2) {
        frame.getPlaybackPanel().play();
        e.consume();
      }
    }
  }
);
  scrollPane=new JScrollPane(table);
  add(scrollPane,"String_Node_Str");
}