Program: 179669
Project: 179669
Buggy source:
/** 
 * Creates a new filter column panel with three component which are the include list, button panel to shift elements between the two lists, and the exclude list. The include list then will contain all values to filter.
 * @param showKeepAllBox true, if an check box to keep all columns is shown
 * @param cellRenderer
 */
public TwoPaneSelectionPanel(final boolean showKeepAllBox,ListCellRenderer cellRenderer){
  final JPanel buttonPan=new JPanel();
  buttonPan.setBorder(BorderFactory.createEmptyBorder(0,15,0,15));
  buttonPan.setLayout(new BoxLayout(buttonPan,BoxLayout.Y_AXIS));
  buttonPan.add(Box.createVerticalStrut(20));
  m_addButton=new JButton("String_Node_Str");
  m_addButton.setMaximumSize(new Dimension(125,25));
  buttonPan.add(m_addButton);
  m_addButton.addActionListener(new ActionListener(){
    public void actionPerformed(    final ActionEvent ae){
      onAddIt();
    }
  }
);
  buttonPan.add(Box.createVerticalStrut(25));
  m_addAllButton=new JButton("String_Node_Str");
  m_addAllButton.setMaximumSize(new Dimension(125,25));
  buttonPan.add(m_addAllButton);
  m_addAllButton.addActionListener(new ActionListener(){
    public void actionPerformed(    final ActionEvent ae){
      onAddAll();
    }
  }
);
  buttonPan.add(Box.createVerticalStrut(25));
  m_remButton=new JButton("String_Node_Str");
  m_remButton.setMaximumSize(new Dimension(125,25));
  buttonPan.add(m_remButton);
  m_remButton.addActionListener(new ActionListener(){
    public void actionPerformed(    final ActionEvent ae){
      onRemIt();
    }
  }
);
  buttonPan.add(Box.createVerticalStrut(25));
  m_remAllButton=new JButton("String_Node_Str");
  m_remAllButton.setMaximumSize(new Dimension(125,25));
  buttonPan.add(m_remAllButton);
  m_remAllButton.addActionListener(new ActionListener(){
    public void actionPerformed(    final ActionEvent ae){
      onRemoveAll();
    }
  }
);
  buttonPan.add(Box.createVerticalStrut(20));
  buttonPan.add(Box.createGlue());
  includeOptions=new DefaultListModel();
  m_inclList=new JList(includeOptions);
  m_inclList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
  m_inclList.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    final MouseEvent me){
      if (me.getClickCount() == 2) {
        onRemIt();
        me.consume();
      }
    }
  }
);
  final JScrollPane jspIncl=new JScrollPane(m_inclList);
  jspIncl.setMinimumSize(new Dimension(150,155));
  m_searchFieldIncl=new JTextField(8);
  m_searchButtonIncl=new JButton("String_Node_Str");
  ActionListener actionListenerIncl=new ActionListener(){
    public void actionPerformed(    final ActionEvent e){
      onSearch(m_inclList,includeOptions,m_searchFieldIncl,m_markAllHitsIncl.isSelected());
    }
  }
;
  m_searchFieldIncl.addActionListener(actionListenerIncl);
  m_searchButtonIncl.addActionListener(actionListenerIncl);
  JPanel inclSearchPanel=new JPanel(new BorderLayout());
  inclSearchPanel.add(new JLabel("String_Node_Str"),BorderLayout.WEST);
  inclSearchPanel.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));
  inclSearchPanel.add(m_searchFieldIncl,BorderLayout.CENTER);
  inclSearchPanel.add(m_searchButtonIncl,BorderLayout.EAST);
  m_markAllHitsIncl=new JCheckBox("String_Node_Str");
  ActionListener actionListenerAllIncl=new ActionListener(){
    public void actionPerformed(    final ActionEvent e){
      m_inclList.clearSelection();
      onSearch(m_inclList,includeOptions,m_searchFieldIncl,m_markAllHitsIncl.isSelected());
    }
  }
;
  m_markAllHitsIncl.addActionListener(actionListenerAllIncl);
  inclSearchPanel.add(m_markAllHitsIncl,BorderLayout.PAGE_END);
  JPanel includePanel=new JPanel(new BorderLayout());
  m_includeBorder=BorderFactory.createTitledBorder(INCLUDE_BORDER,"String_Node_Str");
  includePanel.setBorder(m_includeBorder);
  includePanel.add(inclSearchPanel,BorderLayout.NORTH);
  includePanel.add(jspIncl,BorderLayout.CENTER);
  availableOptions=new DefaultListModel();
  m_exclList=new JList(availableOptions);
  m_exclList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
  m_exclList.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    final MouseEvent me){
      if (me.getClickCount() == 2) {
        onAddIt();
        me.consume();
      }
    }
  }
);
  setListCellRenderer(cellRenderer);
  final JScrollPane jspExcl=new JScrollPane(m_exclList);
  jspExcl.setMinimumSize(new Dimension(150,155));
  m_searchFieldExcl=new JTextField(8);
  m_searchButtonExcl=new JButton("String_Node_Str");
  ActionListener actionListenerExcl=new ActionListener(){
    public void actionPerformed(    final ActionEvent e){
      onSearch(m_exclList,availableOptions,m_searchFieldExcl,m_markAllHitsExcl.isSelected());
    }
  }
;
  m_searchFieldExcl.addActionListener(actionListenerExcl);
  m_searchButtonExcl.addActionListener(actionListenerExcl);
  JPanel exclSearchPanel=new JPanel(new BorderLayout());
  exclSearchPanel.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));
  exclSearchPanel.add(new JLabel("String_Node_Str"),BorderLayout.WEST);
  exclSearchPanel.add(m_searchFieldExcl,BorderLayout.CENTER);
  exclSearchPanel.add(m_searchButtonExcl,BorderLayout.EAST);
  m_markAllHitsExcl=new JCheckBox("String_Node_Str");
  ActionListener actionListenerAllExcl=new ActionListener(){
    public void actionPerformed(    final ActionEvent e){
      m_exclList.clearSelection();
      onSearch(m_exclList,availableOptions,m_searchFieldExcl,m_markAllHitsExcl.isSelected());
    }
  }
;
  m_markAllHitsExcl.addActionListener(actionListenerAllExcl);
  exclSearchPanel.add(m_markAllHitsExcl,BorderLayout.PAGE_END);
  JPanel excludePanel=new JPanel(new BorderLayout());
  m_excludeBorder=BorderFactory.createTitledBorder(EXCLUDE_BORDER,"String_Node_Str");
  excludePanel.setBorder(m_excludeBorder);
  excludePanel.add(exclSearchPanel,BorderLayout.NORTH);
  excludePanel.add(jspExcl,BorderLayout.CENTER);
  JPanel buttonPan2=new JPanel(new GridLayout());
  Border border=BorderFactory.createTitledBorder("String_Node_Str");
  buttonPan2.setBorder(border);
  buttonPan2.add(buttonPan);
  JPanel center=new JPanel();
  center.setLayout(new BoxLayout(center,BoxLayout.X_AXIS));
  center.add(excludePanel);
  center.add(buttonPan2);
  center.add(includePanel);
  JPanel all=new JPanel();
  all.setLayout(new BoxLayout(all,BoxLayout.Y_AXIS));
  all.add(center);
  super.setLayout(new GridLayout(1,1));
  super.add(all);
}

Fixed version (ground truth):
/** 
 * Creates a new filter column panel with three component which are the include list, button panel to shift elements between the two lists, and the exclude list. The include list then will contain all values to filter.
 * @param showKeepAllBox true, if an check box to keep all columns is shown
 * @param cellRenderer
 */
public TwoPaneSelectionPanel(final boolean showKeepAllBox,ListCellRenderer cellRenderer){
  final JPanel buttonPan=new JPanel();
  buttonPan.setBorder(BorderFactory.createEmptyBorder(0,15,0,15));
  buttonPan.setLayout(new BoxLayout(buttonPan,BoxLayout.Y_AXIS));
  buttonPan.add(Box.createVerticalStrut(20));
  m_addButton=new JButton("String_Node_Str");
  m_addButton.setMaximumSize(new Dimension(125,25));
  buttonPan.add(m_addButton);
  m_addButton.addActionListener(new ActionListener(){
    public void actionPerformed(    final ActionEvent ae){
      onAddIt();
    }
  }
);
  buttonPan.add(Box.createVerticalStrut(25));
  m_addAllButton=new JButton("String_Node_Str");
  m_addAllButton.setMaximumSize(new Dimension(125,25));
  buttonPan.add(m_addAllButton);
  m_addAllButton.addActionListener(new ActionListener(){
    public void actionPerformed(    final ActionEvent ae){
      onAddAll();
    }
  }
);
  buttonPan.add(Box.createVerticalStrut(25));
  m_remButton=new JButton("String_Node_Str");
  m_remButton.setMaximumSize(new Dimension(125,25));
  buttonPan.add(m_remButton);
  m_remButton.addActionListener(new ActionListener(){
    public void actionPerformed(    final ActionEvent ae){
      onRemIt();
    }
  }
);
  buttonPan.add(Box.createVerticalStrut(25));
  m_remAllButton=new JButton("String_Node_Str");
  m_remAllButton.setMaximumSize(new Dimension(125,25));
  buttonPan.add(m_remAllButton);
  m_remAllButton.addActionListener(new ActionListener(){
    public void actionPerformed(    final ActionEvent ae){
      onRemoveAll();
    }
  }
);
  buttonPan.add(Box.createVerticalStrut(20));
  buttonPan.add(Box.createGlue());
  includeOptions=new DefaultListModel();
  m_inclList=new JList(includeOptions);
  m_inclList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
  m_inclList.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    final MouseEvent me){
      if (me.getClickCount() == 2) {
        onRemIt();
        me.consume();
      }
    }
  }
);
  final JScrollPane jspIncl=new JScrollPane(m_inclList);
  jspIncl.setMinimumSize(new Dimension(130,155));
  jspIncl.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
  m_searchFieldIncl=new JTextField(8);
  m_searchButtonIncl=new JButton("String_Node_Str");
  ActionListener actionListenerIncl=new ActionListener(){
    public void actionPerformed(    final ActionEvent e){
      onSearch(m_inclList,includeOptions,m_searchFieldIncl,m_markAllHitsIncl.isSelected());
    }
  }
;
  m_searchFieldIncl.addActionListener(actionListenerIncl);
  m_searchButtonIncl.addActionListener(actionListenerIncl);
  JPanel inclSearchPanel=new JPanel(new BorderLayout());
  inclSearchPanel.add(new JLabel("String_Node_Str"),BorderLayout.WEST);
  inclSearchPanel.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));
  inclSearchPanel.add(m_searchFieldIncl,BorderLayout.CENTER);
  inclSearchPanel.add(m_searchButtonIncl,BorderLayout.EAST);
  m_markAllHitsIncl=new JCheckBox("String_Node_Str");
  ActionListener actionListenerAllIncl=new ActionListener(){
    public void actionPerformed(    final ActionEvent e){
      m_inclList.clearSelection();
      onSearch(m_inclList,includeOptions,m_searchFieldIncl,m_markAllHitsIncl.isSelected());
    }
  }
;
  m_markAllHitsIncl.addActionListener(actionListenerAllIncl);
  inclSearchPanel.add(m_markAllHitsIncl,BorderLayout.PAGE_END);
  JPanel includePanel=new JPanel(new BorderLayout());
  m_includeBorder=BorderFactory.createTitledBorder(INCLUDE_BORDER,"String_Node_Str");
  includePanel.setBorder(m_includeBorder);
  includePanel.add(inclSearchPanel,BorderLayout.NORTH);
  includePanel.add(jspIncl,BorderLayout.CENTER);
  availableOptions=new DefaultListModel();
  m_exclList=new JList(availableOptions);
  m_exclList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
  m_exclList.addMouseListener(new MouseAdapter(){
    @Override public void mouseClicked(    final MouseEvent me){
      if (me.getClickCount() == 2) {
        onAddIt();
        me.consume();
      }
    }
  }
);
  setListCellRenderer(cellRenderer);
  final JScrollPane jspExcl=new JScrollPane(m_exclList);
  jspExcl.setMinimumSize(new Dimension(130,155));
  jspExcl.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
  m_searchFieldExcl=new JTextField(8);
  m_searchButtonExcl=new JButton("String_Node_Str");
  ActionListener actionListenerExcl=new ActionListener(){
    public void actionPerformed(    final ActionEvent e){
      onSearch(m_exclList,availableOptions,m_searchFieldExcl,m_markAllHitsExcl.isSelected());
    }
  }
;
  m_searchFieldExcl.addActionListener(actionListenerExcl);
  m_searchButtonExcl.addActionListener(actionListenerExcl);
  JPanel exclSearchPanel=new JPanel(new BorderLayout());
  exclSearchPanel.setBorder(BorderFactory.createEmptyBorder(15,15,15,15));
  exclSearchPanel.add(new JLabel("String_Node_Str"),BorderLayout.WEST);
  exclSearchPanel.add(m_searchFieldExcl,BorderLayout.CENTER);
  exclSearchPanel.add(m_searchButtonExcl,BorderLayout.EAST);
  m_markAllHitsExcl=new JCheckBox("String_Node_Str");
  ActionListener actionListenerAllExcl=new ActionListener(){
    public void actionPerformed(    final ActionEvent e){
      m_exclList.clearSelection();
      onSearch(m_exclList,availableOptions,m_searchFieldExcl,m_markAllHitsExcl.isSelected());
    }
  }
;
  m_markAllHitsExcl.addActionListener(actionListenerAllExcl);
  exclSearchPanel.add(m_markAllHitsExcl,BorderLayout.PAGE_END);
  JPanel excludePanel=new JPanel(new BorderLayout());
  m_excludeBorder=BorderFactory.createTitledBorder(EXCLUDE_BORDER,"String_Node_Str");
  excludePanel.setBorder(m_excludeBorder);
  excludePanel.add(exclSearchPanel,BorderLayout.NORTH);
  excludePanel.add(jspExcl,BorderLayout.CENTER);
  JPanel buttonPan2=new JPanel(new GridLayout());
  Border border=BorderFactory.createTitledBorder("String_Node_Str");
  buttonPan2.setBorder(border);
  buttonPan2.add(buttonPan);
  JPanel center=new JPanel();
  center.setLayout(new BoxLayout(center,BoxLayout.X_AXIS));
  center.add(excludePanel);
  center.add(buttonPan2);
  center.add(includePanel);
  JPanel all=new JPanel();
  all.setLayout(new BoxLayout(all,BoxLayout.Y_AXIS));
  all.add(center);
  super.setLayout(new GridLayout(1,1));
  super.add(all);
}