Program: 6752
Project: 6752
Buggy source:
public CommentPanel(Comment c,User u,int totalWidth,int indentLvl,final CommentRemover remover){
  this.c=c;
  this.u=u;
  this.indentLvl=indentLvl;
  int textWidth=totalWidth - 80;
  double[][] cellSizen={{0,50,10,TableLayout.FILL,0},{0,50,TableLayout.FILL,0}};
  setLayout(new TableLayout(cellSizen));
  add(new JLabel(imgIconFromUrl(u.getImgUrl())),"String_Node_Str");
  extendoPanel=new JPanel();
  BoxLayout epl=new BoxLayout(extendoPanel,BoxLayout.Y_AXIS);
  extendoPanel.setLayout(epl);
  Border botLine=BorderFactory.createMatteBorder(0,0,1,0,RoboColor.DARKISH_GRAY);
  Border margin=BorderFactory.createEmptyBorder(0,0,5,0);
  extendoPanel.setBorder(BorderFactory.createCompoundBorder(margin,botLine));
  nameLbl=new RLabel16B(u.getFriendlyName());
  nameLbl.setAlignmentX(LEFT_ALIGNMENT);
  dateLbl=new RLabel11(df.format(c.getDate()));
  dateLbl.setAlignmentX(LEFT_ALIGNMENT);
  textLbl=new LineBreakTextPanel(c.getText(),RoboFont.getFont(13,false),textWidth);
  textLbl.setAlignmentX(LEFT_ALIGNMENT);
  add(extendoPanel,"String_Node_Str");
  btnsPnl=new JPanel();
  btnsPnl.setAlignmentX(LEFT_ALIGNMENT);
  double[][] btnsCellSizen={{80,10,100,TableLayout.FILL},{5,30,5}};
  btnsPnl.setLayout(new TableLayout(btnsCellSizen));
  RButton replyBtn=new RGlassButton("String_Node_Str");
  replyBtn.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      CatchingRunnable hideNewCmt=new CatchingRunnable(){
        public void doRun() throws Exception {
          newCmtForm=null;
          relayoutPanel();
        }
      }
;
      final int scrollOffset=offsetToComment(CommentPanel.this);
      newCmtForm=new NewCommentForm(hideNewCmt,CommentPanel.this.c.getCommentId());
      relayoutPanel();
      newCmtForm.textArea.requestFocusInWindow();
      invokeLater(new CatchingRunnable(){
        public void doRun() throws Exception {
          cmtListScrollPane.getViewport().setViewPosition(new Point(0,scrollOffset));
        }
      }
);
    }
  }
);
  btnsPnl.add(replyBtn,"String_Node_Str");
  if (remover != null) {
    RButton removeBtn=new RRedGlassButton("String_Node_Str");
    final CatchingRunnable doRemove=new CatchingRunnable(){
      public void doRun() throws Exception {
        remover.doRemove(CommentPanel.this);
        frame.ctrl.deleteComment(CommentPanel.this.c,new CommentCallback(){
          public void success(          Comment c){
          }
          public void error(          long commentId,          Exception ex){
            log.error("String_Node_Str",ex);
          }
        }
);
      }
    }
;
    removeBtn.addActionListener(new ActionListener(){
      public void actionPerformed(      ActionEvent e){
        frame.showSheet(new ConfirmSheet(frame,"String_Node_Str","String_Node_Str","String_Node_Str",doRemove));
      }
    }
);
    btnsPnl.add(removeBtn,"String_Node_Str");
  }
  relayoutPanel();
}

Fixed version (ground truth):
public CommentPanel(Comment c,User u,int totalWidth,int indentLvl,final CommentRemover remover){
  this.c=c;
  this.u=u;
  this.indentLvl=indentLvl;
  int textWidth=totalWidth - 80;
  double[][] cellSizen={{0,50,10,TableLayout.FILL,0},{0,50,TableLayout.FILL,0}};
  setLayout(new TableLayout(cellSizen));
  add(new JLabel(imgIconFromUrl(u.getImgUrl())),"String_Node_Str");
  extendoPanel=new JPanel();
  BoxLayout epl=new BoxLayout(extendoPanel,BoxLayout.Y_AXIS);
  extendoPanel.setLayout(epl);
  Border botLine=BorderFactory.createMatteBorder(0,0,1,0,RoboColor.DARKISH_GRAY);
  Border margin=BorderFactory.createEmptyBorder(0,0,5,0);
  extendoPanel.setBorder(BorderFactory.createCompoundBorder(margin,botLine));
  nameLbl=new RLabel16B(u.getFriendlyName());
  nameLbl.setAlignmentX(LEFT_ALIGNMENT);
  dateLbl=new RLabel11(df.format(c.getDate()));
  dateLbl.setAlignmentX(LEFT_ALIGNMENT);
  textLbl=new LineBreakTextPanel(c.getText(),RoboFont.getFont(13,false),textWidth);
  textLbl.setAlignmentX(LEFT_ALIGNMENT);
  add(extendoPanel,"String_Node_Str");
  btnsPnl=new JPanel();
  btnsPnl.setAlignmentX(LEFT_ALIGNMENT);
  double[][] btnsCellSizen={{80,10,100,TableLayout.FILL},{5,30,5}};
  btnsPnl.setLayout(new TableLayout(btnsCellSizen));
  RButton replyBtn=new RGlassButton("String_Node_Str");
  replyBtn.addActionListener(new ActionListener(){
    public void actionPerformed(    ActionEvent e){
      CatchingRunnable hideNewCmt=new CatchingRunnable(){
        public void doRun() throws Exception {
          newCmtForm=null;
          relayoutPanel();
        }
      }
;
      final int scrollOffset=offsetToComment(CommentPanel.this);
      newCmtForm=new NewCommentForm(hideNewCmt,CommentPanel.this.c.getCommentId());
      relayoutPanel();
      newCmtForm.textArea.requestFocusInWindow();
      invokeLater(new CatchingRunnable(){
        public void doRun() throws Exception {
          cmtListScrollPane.getViewport().setViewPosition(new Point(0,scrollOffset));
        }
      }
);
    }
  }
);
  btnsPnl.add(replyBtn,"String_Node_Str");
  if (remover != null) {
    RButton deleteBtn=new RRedGlassButton("String_Node_Str");
    final CatchingRunnable doRemove=new CatchingRunnable(){
      public void doRun() throws Exception {
        remover.doRemove(CommentPanel.this);
        frame.ctrl.deleteComment(CommentPanel.this.c,new CommentCallback(){
          public void success(          Comment c){
          }
          public void error(          long commentId,          Exception ex){
            log.error("String_Node_Str",ex);
          }
        }
);
      }
    }
;
    deleteBtn.addActionListener(new ActionListener(){
      public void actionPerformed(      ActionEvent e){
        frame.showSheet(new ConfirmSheet(frame,"String_Node_Str","String_Node_Str","String_Node_Str",doRemove));
      }
    }
);
    btnsPnl.add(deleteBtn,"String_Node_Str");
  }
  relayoutPanel();
}