Program: 159609
Project: 159609
Buggy source:
public void getFeedback(FeedbackMode mode,String message,boolean special,Map<String,Serializable> options){
  logger.info("String_Node_Str" + message);
  this.lblMessage.setText(message);
  this.helper.setMessage(message);
  this.selected=false;
  this.mode=mode;
switch (this.mode) {
case INFORM:
    this.btnLeft.setVisible(false);
  this.btnRight.setVisible(false);
this.helper.setState("String_Node_Str",false,"String_Node_Str",false);
break;
case QUESTION:
this.btnLeft.setVisible(true);
this.btnLeft.setText("String_Node_Str");
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",true,"String_Node_Str",true);
break;
case CONFIRM:
this.btnLeft.setVisible(true);
this.btnLeft.setText("String_Node_Str");
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",true,"String_Node_Str",true);
break;
case CANCEL:
this.btnLeft.setVisible(false);
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",false,"String_Node_Str",true);
this.helper.setUndoEnabled(false);
break;
case SELECT:
this.btnLeft.setVisible(false);
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",false,"String_Node_Str",true);
break;
case END:
this.btnLeft.setVisible(false);
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",false,"String_Node_Str",true);
ArrowBuilder.getBuilder().removeAllArrows(gameId);
endWithTimeout();
break;
}
this.btnSpecial.setVisible(special);
this.btnSpecial.setText("String_Node_Str");
this.helper.setSpecial("String_Node_Str",special);
if (message.contains("String_Node_Str")) {
this.btnSpecial.setVisible(true);
this.btnSpecial.setText("String_Node_Str");
this.helper.setSpecial("String_Node_Str",true);
}
requestFocusIfPossible();
handleOptions(options);
this.revalidate();
this.repaint();
this.helper.setLinks(btnLeft,btnRight,btnSpecial,btnUndo);
this.helper.setVisible(true);
}

Fixed version (ground truth):
public void getFeedback(FeedbackMode mode,String message,boolean special,Map<String,Serializable> options,int messageId){
  logger.info("String_Node_Str" + message);
synchronized (this) {
    if (messageId < this.lastMessageId) {
      logger.warn("String_Node_Str" + messageId + "String_Node_Str"+ message);
      return;
    }
    this.lastMessageId=messageId;
  }
  this.lblMessage.setText(message);
  this.helper.setMessage(message);
  this.selected=false;
  this.mode=mode;
switch (this.mode) {
case INFORM:
    this.btnLeft.setVisible(false);
  this.btnRight.setVisible(false);
this.helper.setState("String_Node_Str",false,"String_Node_Str",false);
break;
case QUESTION:
this.btnLeft.setVisible(true);
this.btnLeft.setText("String_Node_Str");
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",true,"String_Node_Str",true);
break;
case CONFIRM:
this.btnLeft.setVisible(true);
this.btnLeft.setText("String_Node_Str");
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",true,"String_Node_Str",true);
break;
case CANCEL:
this.btnLeft.setVisible(false);
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",false,"String_Node_Str",true);
this.helper.setUndoEnabled(false);
break;
case SELECT:
this.btnLeft.setVisible(false);
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",false,"String_Node_Str",true);
break;
case END:
this.btnLeft.setVisible(false);
this.btnRight.setVisible(true);
this.btnRight.setText("String_Node_Str");
this.helper.setState("String_Node_Str",false,"String_Node_Str",true);
ArrowBuilder.getBuilder().removeAllArrows(gameId);
endWithTimeout();
break;
}
this.btnSpecial.setVisible(special);
this.btnSpecial.setText("String_Node_Str");
this.helper.setSpecial("String_Node_Str",special);
if (message.contains("String_Node_Str")) {
this.btnSpecial.setVisible(true);
this.btnSpecial.setText("String_Node_Str");
this.helper.setSpecial("String_Node_Str",true);
}
requestFocusIfPossible();
handleOptions(options);
this.revalidate();
this.repaint();
this.helper.setLinks(btnLeft,btnRight,btnSpecial,btnUndo);
this.helper.setVisible(true);
}