Program: 103033
Project: 103033
Buggy source:
/** 
 * Handles <tt>ActionEvent</tt>s triggered by a button click.
 * @param e the action event.
 */
public void actionPerformed(ActionEvent e){
  String subject=null;
  JButton sourceButton=(JButton)e.getSource();
  if (sourceButton.equals(okButton)) {
    if ((chatRoomNameField.getText() != null && chatRoomNameField.getText().trim().length() > 0) && (nicknameField.getText() != null && nicknameField.getText().trim().length() > 0)) {
      ChatRoomWrapper chatRoomWrapper=GuiActivator.getMUCService().createChatRoom(chatRoomNameField.getText().trim(),getSelectedProvider().getProtocolProvider(),new ArrayList<String>(),"String_Node_Str",false,false,false);
      String nickName=nicknameField.getText().trim();
      ConfigurationUtils.updateChatRoomProperty(chatRoomWrapper.getParentProvider().getProtocolProvider(),chatRoomWrapper.getChatRoomID(),"String_Node_Str",nickName);
      subject=this.subject.getText();
      if (nickName == null)       return;
      GuiActivator.getMUCService().joinChatRoom(chatRoomWrapper,nickName,null,subject);
      ChatWindowManager chatWindowManager=GuiActivator.getUIService().getChatWindowManager();
      ChatPanel chatPanel=chatWindowManager.getMultiChat(chatRoomWrapper,true);
      chatWindowManager.openChat(chatPanel,true);
    }
    dispose();
  }
 else   if (sourceButton.equals(cancelButton)) {
    dispose();
  }
 else   if (sourceButton.equals(listButton)) {
    if (serverChatRoomsChoiceDialog == null) {
      serverChatRoomsChoiceDialog=new ServerChatRoomsChoiceDialog(getTitle(),getSelectedProvider());
    }
    serverChatRoomsChoiceDialog.setVisible(true);
  }
}

Fixed version (ground truth):
/** 
 * Handles <tt>ActionEvent</tt>s triggered by a button click.
 * @param e the action event.
 */
public void actionPerformed(ActionEvent e){
  String subject=null;
  JButton sourceButton=(JButton)e.getSource();
  if (sourceButton.equals(okButton)) {
    if ((chatRoomNameField.getText() != null && chatRoomNameField.getText().trim().length() > 0) && (nicknameField.getText() != null && nicknameField.getText().trim().length() > 0)) {
      ChatRoomWrapper chatRoomWrapper=GuiActivator.getMUCService().createChatRoom(chatRoomNameField.getText().trim(),getSelectedProvider().getProtocolProvider(),new ArrayList<String>(),"String_Node_Str",false,false,false);
      String nickName=nicknameField.getText().trim();
      if (!chatRoomWrapper.isPersistent()) {
        chatRoomWrapper.setPersistent(true);
        ConfigurationUtils.saveChatRoom(chatRoomWrapper.getParentProvider().getProtocolProvider(),chatRoomWrapper.getChatRoomID(),chatRoomWrapper.getChatRoomID(),chatRoomWrapper.getChatRoomName());
      }
      ConfigurationUtils.updateChatRoomProperty(chatRoomWrapper.getParentProvider().getProtocolProvider(),chatRoomWrapper.getChatRoomID(),"String_Node_Str",nickName);
      subject=this.subject.getText();
      if (nickName == null)       return;
      GuiActivator.getMUCService().joinChatRoom(chatRoomWrapper,nickName,null,subject);
      ChatWindowManager chatWindowManager=GuiActivator.getUIService().getChatWindowManager();
      ChatPanel chatPanel=chatWindowManager.getMultiChat(chatRoomWrapper,true);
      chatWindowManager.openChat(chatPanel,true);
    }
    dispose();
  }
 else   if (sourceButton.equals(cancelButton)) {
    dispose();
  }
 else   if (sourceButton.equals(listButton)) {
    if (serverChatRoomsChoiceDialog == null) {
      serverChatRoomsChoiceDialog=new ServerChatRoomsChoiceDialog(getTitle(),getSelectedProvider());
    }
    serverChatRoomsChoiceDialog.setVisible(true);
  }
}