Program: 152152
Project: 152152
Buggy source:
/** 
 * Notifies about change in sms queue 
 */
public void smsProcessed(SMS sms){
  if (sms.getStatus() == SMS.Status.SENT_OK) {
    statusPanel.setStatusMessage("String_Node_Str" + sms + "String_Node_Str",true,Icons.STATUS_MESSAGE,true);
    createHistory(sms);
    if (smsPanel.getText().length() > 0) {
      smsPanel.requestFocusInWindow();
    }
 else {
      contactPanel.requestFocusInWindow();
    }
  }
 else   if (sms.getStatus() == SMS.Status.PROBLEMATIC) {
    logger.info("String_Node_Str" + sms + "String_Node_Str");
    queuePanel.setPaused(true);
    statusPanel.setStatusMessage("String_Node_Str" + sms + "String_Node_Str",true,Icons.STATUS_WARNING,true);
    JLabel label=new JLabel("String_Node_Str" + "String_Node_Str" + sms + "String_Node_Str"+ (sms.getErrMsg() != null ? sms.getErrMsg().trim() : "String_Node_Str")+ "String_Node_Str");
    label.setVerticalAlignment(SwingConstants.TOP);
    JPanel panel=new JPanel(new BorderLayout());
    panel.add(label,BorderLayout.CENTER);
    JOptionPane pane=new JOptionPane(panel,JOptionPane.WARNING_MESSAGE);
    JDialog dialog=pane.createDialog(MainFrame.this,null);
    Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
    int width=panel.getWidth();
    int height=panel.getHeight();
    if (dialog.getWidth() > screenSize.getWidth()) {
      width=(int)screenSize.getWidth() * 2 / 3;
      height=height * (panel.getWidth() / width);
      panel.setPreferredSize(new Dimension(width,height));
      dialog=pane.createDialog(MainFrame.this,null);
    }
    dialog.setResizable(true);
    dialog.setVisible(true);
    if (smsPanel.getText().length() > 0) {
      smsPanel.requestFocusInWindow();
    }
 else {
      queuePanel.requestFocusInWindow();
    }
  }
  if (!Nullator.isEmpty(sms.getOperatorMsg())) {
    statusPanel.setStatusMessage(sms.getOperator() + "String_Node_Str" + sms.getOperatorMsg(),true,Icons.STATUS_MESSAGE,true);
  }
  if (!smsSender.isRunning()) {
    statusPanel.setTaskRunning(false);
  }
  queuePanel.smsProcessed(sms);
}

Fixed version (ground truth):
/** 
 * Notifies about change in sms queue 
 */
public void smsProcessed(SMS sms){
  if (sms.getStatus() == SMS.Status.SENT_OK) {
    statusPanel.setStatusMessage("String_Node_Str" + sms + "String_Node_Str",true,Icons.STATUS_MESSAGE,true);
    createHistory(sms);
    if (smsPanel.getText().length() > 0) {
      smsPanel.requestFocusInWindow();
    }
 else {
      contactPanel.requestFocusInWindow();
    }
  }
 else   if (sms.getStatus() == SMS.Status.PROBLEMATIC) {
    logger.info("String_Node_Str" + sms + "String_Node_Str");
    queuePanel.setPaused(true);
    statusPanel.setStatusMessage("String_Node_Str" + sms + "String_Node_Str",true,Icons.STATUS_WARNING,true);
    JLabel label=new JLabel("String_Node_Str" + "String_Node_Str" + sms + "String_Node_Str"+ (sms.getErrMsg() != null ? sms.getErrMsg().trim() : "String_Node_Str")+ "String_Node_Str");
    label.setVerticalAlignment(SwingConstants.TOP);
    JPanel panel=new JPanel(new BorderLayout());
    panel.add(label,BorderLayout.CENTER);
    JOptionPane pane=new JOptionPane(panel,JOptionPane.WARNING_MESSAGE);
    JDialog dialog=pane.createDialog(MainFrame.this,null);
    Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
    int width=panel.getWidth();
    int height=panel.getHeight();
    if (dialog.getWidth() > screenSize.getWidth()) {
      width=(int)screenSize.getWidth() * 2 / 3;
      height=height * (panel.getWidth() / width);
      panel.setPreferredSize(new Dimension(width,height));
      dialog=pane.createDialog(MainFrame.this,null);
    }
    dialog.setResizable(true);
    dialog.pack();
    dialog.setVisible(true);
    if (smsPanel.getText().length() > 0) {
      smsPanel.requestFocusInWindow();
    }
 else {
      queuePanel.requestFocusInWindow();
    }
  }
  if (!Nullator.isEmpty(sms.getOperatorMsg())) {
    statusPanel.setStatusMessage(sms.getOperator() + "String_Node_Str" + sms.getOperatorMsg(),true,Icons.STATUS_MESSAGE,true);
  }
  if (!smsSender.isRunning()) {
    statusPanel.setTaskRunning(false);
  }
  queuePanel.smsProcessed(sms);
}