Program: 80681
Project: 80681
Buggy source:
MessageView(KonMessage message){
  mMessage=message;
  this.setOpaque(false);
  this.setMargin(2);
  WebPanel messagePanel=new WebPanel(true);
  messagePanel.setWebColoredBackground(false);
  messagePanel.setMargin(5);
  if (mMessage.getDir().equals(KonMessage.Direction.IN))   messagePanel.setBackground(Color.WHITE);
 else   messagePanel.setBackground(View.LIGHT_BLUE);
  if (mMessage.getDir().equals(KonMessage.Direction.IN)) {
    String from=getFromString(mMessage);
    WebLabel fromLabel=new WebLabel("String_Node_Str" + from);
    fromLabel.setFontSize(12);
    fromLabel.setForeground(Color.BLUE);
    fromLabel.setItalicFont();
    messagePanel.add(fromLabel,BorderLayout.NORTH);
  }
  mContentPanel=new WebPanel();
  mContentPanel.setOpaque(false);
  mTextArea=new WebTextArea();
  mTextArea.setOpaque(false);
  mTextArea.setFontSize(13);
  mTextArea.setLineWrap(true);
  mTextArea.setWrapStyleWord(true);
  mContentPanel.add(mTextArea,BorderLayout.CENTER);
  messagePanel.add(mContentPanel,BorderLayout.CENTER);
  WebPanel statusPanel=new WebPanel();
  statusPanel.setOpaque(false);
  statusPanel.setLayout(new FlowLayout(FlowLayout.TRAILING));
  mStatusIconLabel=new WebLabel();
  this.update();
  statusPanel.add(mStatusIconLabel);
  WebLabel encryptIconLabel=new WebLabel();
  if (message.getCoderStatus().isSecure()) {
    encryptIconLabel.setIcon(CRYPT_ICON);
  }
 else {
    encryptIconLabel.setIcon(UNENCRYPT_ICON);
  }
  statusPanel.add(encryptIconLabel);
  WebLabel dateLabel=new WebLabel(SHORT_DATE_FORMAT.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);
  }
  mMessage.addObserver(this);
}

Fixed version (ground truth):
MessageView(KonMessage message){
  mMessage=message;
  this.setOpaque(false);
  this.setMargin(2);
  WebPanel messagePanel=new WebPanel(true);
  messagePanel.setWebColoredBackground(false);
  messagePanel.setMargin(5);
  if (mMessage.getDir().equals(KonMessage.Direction.IN))   messagePanel.setBackground(Color.WHITE);
 else   messagePanel.setBackground(View.LIGHT_BLUE);
  if (mMessage.getDir().equals(KonMessage.Direction.IN)) {
    String from=getFromString(mMessage);
    WebLabel fromLabel=new WebLabel("String_Node_Str" + from);
    fromLabel.setFontSize(12);
    fromLabel.setForeground(Color.BLUE);
    fromLabel.setItalicFont();
    messagePanel.add(fromLabel,BorderLayout.NORTH);
  }
  mContentPanel=new WebPanel();
  mContentPanel.setOpaque(false);
  mTextArea=new WebTextArea();
  mTextArea.setOpaque(false);
  mTextArea.setFontSize(13);
  mContentPanel.add(mTextArea,BorderLayout.CENTER);
  messagePanel.add(mContentPanel,BorderLayout.CENTER);
  WebPanel statusPanel=new WebPanel();
  statusPanel.setOpaque(false);
  statusPanel.setLayout(new FlowLayout(FlowLayout.TRAILING));
  mStatusIconLabel=new WebLabel();
  this.update();
  mPreferredTextAreaWidth=mTextArea.getPreferredSize().width;
  mTextArea.setLineWrap(true);
  mTextArea.setWrapStyleWord(true);
  statusPanel.add(mStatusIconLabel);
  WebLabel encryptIconLabel=new WebLabel();
  if (message.getCoderStatus().isSecure()) {
    encryptIconLabel.setIcon(CRYPT_ICON);
  }
 else {
    encryptIconLabel.setIcon(UNENCRYPT_ICON);
  }
  statusPanel.add(encryptIconLabel);
  WebLabel dateLabel=new WebLabel(SHORT_DATE_FORMAT.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);
  }
  mMessage.addObserver(this);
}