Program: 19799
Project: 19799
Buggy source:
/** 
 * Create the Panel where all the buttons are.
 * @return a Panel with buttons on it.
 */
private JPanel createButtonPanel(){
  JPanel buttonPanel=getJPanel(new FlowLayout());
  speakButton=new JButton("String_Node_Str");
  speakButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent ae){
      if (speakButton.isEnabled()) {
        enterSpeakingMode();
      }
    }
  }
);
  stopButton=new JButton("String_Node_Str");
  stopButton.setEnabled(false);
  stopButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent ae){
      stopButton.setEnabled(false);
      setMessage("String_Node_Str");
      live.stopRecording();
    }
  }
);
  if (!handsFree) {
    nextButton=new JButton("String_Node_Str");
    nextButton.addActionListener(new ActionListener(){
      public void actionPerformed(      ActionEvent e){
        setReferenceLabel(live.getNextReference());
        setRecognitionLabel("String_Node_Str");
      }
    }
);
  }
  playButton=new JButton("String_Node_Str");
  playButton.setEnabled(false);
  playButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      setRecognitionLabel("String_Node_Str");
      live.playUtterance();
    }
  }
);
  JButton exitButton=new JButton("String_Node_Str");
  exitButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      live.terminate();
      System.exit(0);
    }
  }
);
  buttonPanel.add(speakButton);
  buttonPanel.add(stopButton);
  if (nextButton != null) {
    buttonPanel.add(nextButton);
  }
  buttonPanel.add(playButton);
  buttonPanel.add(exitButton);
  return buttonPanel;
}

Fixed version (ground truth):
/** 
 * Create the Panel where all the buttons are.
 * @return a Panel with buttons on it.
 */
private JPanel createButtonPanel(){
  JPanel buttonPanel=getJPanel(new FlowLayout());
  speakButton=new JButton("String_Node_Str");
  speakButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent ae){
      if (speakButton.isEnabled()) {
        Thread t=new Thread(){
          public void run(){
            enterSpeakingMode();
          }
        }
;
        t.start();
      }
    }
  }
);
  stopButton=new JButton("String_Node_Str");
  stopButton.setEnabled(false);
  stopButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent ae){
      stopButton.setEnabled(false);
      setMessage("String_Node_Str");
      live.stopRecording();
    }
  }
);
  if (!handsFree) {
    nextButton=new JButton("String_Node_Str");
    nextButton.addActionListener(new ActionListener(){
      public void actionPerformed(      ActionEvent e){
        setReferenceLabel(live.getNextReference());
        setRecognitionLabel("String_Node_Str");
      }
    }
);
  }
  playButton=new JButton("String_Node_Str");
  playButton.setEnabled(false);
  playButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      setRecognitionLabel("String_Node_Str");
      live.playUtterance();
    }
  }
);
  JButton exitButton=new JButton("String_Node_Str");
  exitButton.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      System.exit(0);
    }
  }
);
  buttonPanel.add(speakButton);
  buttonPanel.add(stopButton);
  if (nextButton != null) {
    buttonPanel.add(nextButton);
  }
  buttonPanel.add(playButton);
  buttonPanel.add(exitButton);
  return buttonPanel;
}