Program: 80698
Project: 80698
Buggy source:
MessageView(KonMessage message){
  mMessage=message;
  mMessage.addListener(this);
  this.setOpaque(false);
  this.setMargin(2);
  WebPanel messagePanel=new WebPanel(true);
  messagePanel.setMargin(1);
  if (mMessage.getDir().equals(KonMessage.Direction.IN)) {
    WebLabel fromLabel=new WebLabel(mMessage.getJID().substring(0,8));
    fromLabel.setFontSize(12);
    fromLabel.setForeground(Color.BLUE);
    fromLabel.setItalicFont();
    messagePanel.add(fromLabel,BorderLayout.NORTH);
  }
  mTextArea=new WebTextArea(mMessage.getText());
  mTextArea.setOpaque(false);
  mTextArea.setFontSize(13);
  mPreferredTextAreaWidth=mTextArea.getPreferredSize().width;
  mTextArea.setLineWrap(true);
  mTextArea.setWrapStyleWord(true);
  messagePanel.add(mTextArea,BorderLayout.CENTER);
  WebPanel statusPanel=new WebPanel();
  statusPanel.setOpaque(false);
  statusPanel.setLayout(new FlowLayout(FlowLayout.TRAILING));
  mStatusIconLabel=new WebLabel();
  update();
  statusPanel.add(mStatusIconLabel);
  WebLabel encryptIconLabel=new WebLabel();
  if (message.isEncrypted()) {
    encryptIconLabel.setIcon(CRYPT_ICON);
  }
 else {
    encryptIconLabel.setIcon(UNENCRYPT_ICON);
  }
  statusPanel.add(encryptIconLabel);
  SimpleDateFormat dateFormat=new SimpleDateFormat("String_Node_Str");
  WebLabel dateLabel=new WebLabel(dateFormat.format(mMessage.getDate()));
  dateLabel.setForeground(Color.GRAY);
  dateLabel.setFontSize(11);
  statusPanel.add(dateLabel);
  messagePanel.add(statusPanel,BorderLayout.SOUTH);
  if (mMessage.getDir().equals(KonMessage.Direction.IN)) {
    this.add(messagePanel,BorderLayout.WEST);
  }
 else {
    this.add(messagePanel,BorderLayout.EAST);
  }
}

Fixed version (ground truth):
MessageView(KonMessage message){
  mMessage=message;
  mMessage.addListener(this);
  this.setOpaque(false);
  this.setMargin(2);
  WebPanel messagePanel=new WebPanel(true);
  messagePanel.setMargin(1);
  if (mMessage.getDir().equals(KonMessage.Direction.IN)) {
    String from;
    if (mMessage.getUser().getName() != null) {
      from=mMessage.getUser().getName();
    }
 else {
      from=mMessage.getJID();
      if (from.length() > 40)       from=from.substring(0,8);
    }
    WebLabel fromLabel=new WebLabel("String_Node_Str" + from);
    fromLabel.setFontSize(12);
    fromLabel.setForeground(Color.BLUE);
    fromLabel.setItalicFont();
    messagePanel.add(fromLabel,BorderLayout.NORTH);
  }
  mTextArea=new WebTextArea(mMessage.getText());
  mTextArea.setOpaque(false);
  mTextArea.setFontSize(13);
  mPreferredTextAreaWidth=mTextArea.getPreferredSize().width;
  mTextArea.setLineWrap(true);
  mTextArea.setWrapStyleWord(true);
  messagePanel.add(mTextArea,BorderLayout.CENTER);
  WebPanel statusPanel=new WebPanel();
  statusPanel.setOpaque(false);
  statusPanel.setLayout(new FlowLayout(FlowLayout.TRAILING));
  mStatusIconLabel=new WebLabel();
  update();
  statusPanel.add(mStatusIconLabel);
  WebLabel encryptIconLabel=new WebLabel();
  if (message.isEncrypted()) {
    encryptIconLabel.setIcon(CRYPT_ICON);
  }
 else {
    encryptIconLabel.setIcon(UNENCRYPT_ICON);
  }
  statusPanel.add(encryptIconLabel);
  SimpleDateFormat dateFormat=new SimpleDateFormat("String_Node_Str");
  WebLabel dateLabel=new WebLabel(dateFormat.format(mMessage.getDate()));
  dateLabel.setForeground(Color.GRAY);
  dateLabel.setFontSize(11);
  statusPanel.add(dateLabel);
  messagePanel.add(statusPanel,BorderLayout.SOUTH);
  if (mMessage.getDir().equals(KonMessage.Direction.IN)) {
    this.add(messagePanel,BorderLayout.WEST);
  }
 else {
    this.add(messagePanel,BorderLayout.EAST);
  }
}