Program: 13048
Project: 13048
Buggy source:
/** 
 * Create the panel.
 */
public DiscoveryResourcePanel(){
  this.resources=new ResourcesType();
  this.setLayout(new BorderLayout());
  this.setBorder(new EmptyBorder(5,5,5,5));
  JLabel label_1=new JLabel("String_Node_Str");
  label_1.setBounds(148,11,140,14);
  add(label_1);
  JLabel label_2=new JLabel("String_Node_Str");
  label_2.setBounds(148,182,140,14);
  add(label_2);
  JSeparator separator=new JSeparator();
  add(separator);
  comboBox=new JComboBox();
  comboBox.setEditable(true);
  comboBox.setModel(new DefaultComboBoxModel(new String[]{}));
  comboBox.setBounds(254,179,82,20);
  comboBox.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      int index=comboBox.getSelectedIndex();
      if (index < 0)       return;
      onConnectionComboBoxChanged(index);
    }
  }
);
  add(comboBox);
  JPanel description=new JPanel();
  JScrollPane scrollPane=new JScrollPane();
  scrollPane.setBounds(149,36,293,88);
  add(scrollPane);
  JTable resourceParamsTable=new JTable();
  resourceParamsTableModel=new DefaultTableModel(new Object[][]{},new String[]{"String_Node_Str","String_Node_Str"});
  resourceParamsTable.setModel(resourceParamsTableModel);
  scrollPane.setViewportView(resourceParamsTable);
  JScrollPane scrollPane_1=new JScrollPane();
  scrollPane_1.setBounds(148,207,294,143);
  add(scrollPane_1);
  JTable connectionParamsTable=new JTable();
  resourceConnectionParamsTableModel=new DefaultTableModel(new Object[][]{},new String[]{"String_Node_Str","String_Node_Str"});
  connectionParamsTable.setModel(resourceConnectionParamsTableModel);
  connectionParamsTable.getColumnModel().getColumn(0).setPreferredWidth(90);
  scrollPane_1.setViewportView(connectionParamsTable);
  resourcesTable=new JTable();
  String[] columnNames={"String_Node_Str"};
  Object[][] data={};
  resourcesTableModel=new DefaultTableModel(data,columnNames);
  resourcesTable.setModel(resourcesTableModel);
  resourcesTable.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
  resourcesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
    @Override public void valueChanged(    ListSelectionEvent e){
      if (!e.getValueIsAdjusting()) {
        int selectedRow=resourcesTable.getSelectedRow();
        onSelectedResource(selectedRow);
      }
    }
  }
);
  resourcesTableModel.addTableModelListener(new TableModelListener(){
    @Override public void tableChanged(    TableModelEvent e){
      int index=e.getFirstRow();
      if (e.getType() == TableModelEvent.INSERT) {
        resources.getResource().add(index,new ResourceType());
      }
 else       if (e.getType() == TableModelEvent.DELETE) {
        resources.getResource().remove(index);
      }
 else {
        resources.getResource().get(index).setName((String)((DefaultTableModel)e.getSource()).getValueAt(index,0));
      }
    }
  }
);
  JScrollPane scrollPane_2=new JScrollPane();
  scrollPane_2.setBounds(20,36,102,314);
  add(scrollPane_2);
  scrollPane_2.setViewportView(resourcesTable);
  JButton button=new JButton("String_Node_Str");
  button.addActionListener(new RowAddListener(resourcesTable));
  button.setBounds(10,361,46,23);
  add(button);
  JButton button_1=new JButton("String_Node_Str");
  button_1.addActionListener(new RowRemoveListener(resourcesTable));
  button_1.setBounds(74,361,46,23);
  add(button_1);
  JButton button_2=new JButton("String_Node_Str");
  button_2.addActionListener(new RowAddListener(connectionParamsTable));
  button_2.setBounds(148,361,46,23);
  add(button_2);
  JButton button_3=new JButton("String_Node_Str");
  button_3.addActionListener(new RowRemoveListener(connectionParamsTable));
  button_3.setBounds(204,361,46,23);
  add(button_3);
  JButton button_4=new JButton("String_Node_Str");
  button_4.addActionListener(new RowAddListener(resourceParamsTable));
  button_4.setBounds(148,130,46,23);
  add(button_4);
  JButton button_5=new JButton("String_Node_Str");
  button_5.addActionListener(new RowRemoveListener(resourceParamsTable));
  button_5.setBounds(204,130,46,23);
  add(button_5);
  JButton button_6=new JButton("String_Node_Str");
  button_6.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent arg0){
      onAddConnection();
    }
  }
);
  button_6.setBounds(346,178,46,23);
  add(button_6);
  JButton btnNewButton=new JButton("String_Node_Str");
  btnNewButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      onRemoveConnection();
    }
  }
);
  btnNewButton.setBounds(396,178,46,23);
  add(btnNewButton);
  add(new Label());
  String text="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  JLabel help=new JLabel(text){
    public Dimension getPreferredSize(){
      return new Dimension(400,400);
    }
    public Dimension getMinimumSize(){
      return new Dimension(400,400);
    }
    public Dimension getMaximumSize(){
      return new Dimension(400,400);
    }
  }
;
  help.setVerticalAlignment(SwingConstants.TOP);
  help.setHorizontalAlignment(SwingConstants.LEFT);
  description.add(help);
  add(description,BorderLayout.EAST);
}

Fixed version (ground truth):
/** 
 * Create the panel.
 */
public DiscoveryResourcePanel(){
  this.resources=new ResourcesType();
  this.setLayout(new BorderLayout());
  this.setBorder(new EmptyBorder(5,5,5,5));
  JLabel label_1=new JLabel("String_Node_Str");
  label_1.setBounds(148,11,140,14);
  add(label_1);
  JLabel label_2=new JLabel("String_Node_Str");
  label_2.setBounds(148,182,140,14);
  add(label_2);
  JSeparator separator=new JSeparator();
  add(separator);
  comboBox=new JComboBox();
  comboBox.setEditable(true);
  comboBox.setModel(new DefaultComboBoxModel(new String[]{}));
  comboBox.setBounds(254,179,82,20);
  comboBox.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      int index=comboBox.getSelectedIndex();
      if (index < 0)       return;
      onConnectionComboBoxChanged(index);
    }
  }
);
  add(comboBox);
  JPanel description=new JPanel();
  JScrollPane scrollPane=new JScrollPane();
  scrollPane.setBounds(149,36,293,88);
  add(scrollPane);
  JTable resourceParamsTable=new JTable();
  resourceParamsTableModel=new DefaultTableModel(new Object[][]{},new String[]{"String_Node_Str","String_Node_Str"});
  resourceParamsTable.setModel(resourceParamsTableModel);
  scrollPane.setViewportView(resourceParamsTable);
  JScrollPane scrollPane_1=new JScrollPane();
  scrollPane_1.setBounds(148,207,294,143);
  add(scrollPane_1);
  JTable connectionParamsTable=new JTable();
  resourceConnectionParamsTableModel=new DefaultTableModel(new Object[][]{},new String[]{"String_Node_Str","String_Node_Str"});
  connectionParamsTable.setModel(resourceConnectionParamsTableModel);
  connectionParamsTable.getColumnModel().getColumn(0).setPreferredWidth(90);
  scrollPane_1.setViewportView(connectionParamsTable);
  resourcesTable=new JTable();
  String[] columnNames={"String_Node_Str"};
  Object[][] data={};
  resourcesTableModel=new DefaultTableModel(data,columnNames);
  resourcesTable.setModel(resourcesTableModel);
  resourcesTable.setSelectionMode(DefaultListSelectionModel.SINGLE_SELECTION);
  currentResourceIndex=-1;
  resourcesTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
    @Override public void valueChanged(    ListSelectionEvent e){
      if (!e.getValueIsAdjusting()) {
        int selectedRow=resourcesTable.getSelectedRow();
        onSelectedResource(selectedRow);
      }
    }
  }
);
  resourcesTableModel.addTableModelListener(new TableModelListener(){
    @Override public void tableChanged(    TableModelEvent e){
      int index=e.getFirstRow();
      if (e.getType() == TableModelEvent.INSERT) {
        resources.getResource().add(index,new ResourceType());
      }
 else       if (e.getType() == TableModelEvent.DELETE) {
        resources.getResource().remove(index);
      }
 else {
        resources.getResource().get(index).setName((String)((DefaultTableModel)e.getSource()).getValueAt(index,0));
      }
    }
  }
);
  JScrollPane scrollPane_2=new JScrollPane();
  scrollPane_2.setBounds(20,36,102,314);
  add(scrollPane_2);
  scrollPane_2.setViewportView(resourcesTable);
  JButton button=new JButton("String_Node_Str");
  button.addActionListener(new RowAddListener(resourcesTable));
  button.setBounds(10,361,46,23);
  add(button);
  JButton button_1=new JButton("String_Node_Str");
  button_1.addActionListener(new RowRemoveListener(resourcesTable));
  button_1.setBounds(74,361,46,23);
  add(button_1);
  JButton button_2=new JButton("String_Node_Str");
  button_2.addActionListener(new RowAddListener(connectionParamsTable));
  button_2.setBounds(148,361,46,23);
  add(button_2);
  JButton button_3=new JButton("String_Node_Str");
  button_3.addActionListener(new RowRemoveListener(connectionParamsTable));
  button_3.setBounds(204,361,46,23);
  add(button_3);
  JButton button_4=new JButton("String_Node_Str");
  button_4.addActionListener(new RowAddListener(resourceParamsTable));
  button_4.setBounds(148,130,46,23);
  add(button_4);
  JButton button_5=new JButton("String_Node_Str");
  button_5.addActionListener(new RowRemoveListener(resourceParamsTable));
  button_5.setBounds(204,130,46,23);
  add(button_5);
  JButton button_6=new JButton("String_Node_Str");
  button_6.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent arg0){
      onAddConnection();
    }
  }
);
  button_6.setBounds(346,178,46,23);
  add(button_6);
  JButton btnNewButton=new JButton("String_Node_Str");
  btnNewButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      onRemoveConnection();
    }
  }
);
  btnNewButton.setBounds(396,178,46,23);
  add(btnNewButton);
  add(new Label());
  String text="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  JLabel help=new JLabel(text){
    public Dimension getPreferredSize(){
      return new Dimension(400,400);
    }
    public Dimension getMinimumSize(){
      return new Dimension(400,400);
    }
    public Dimension getMaximumSize(){
      return new Dimension(400,400);
    }
  }
;
  help.setVerticalAlignment(SwingConstants.TOP);
  help.setHorizontalAlignment(SwingConstants.LEFT);
  description.add(help);
  add(description,BorderLayout.EAST);
}