Program: 24745
Project: 24745
Buggy source:
public Widget getDataRow(int rowCount,GwtRequirement req){
  FlexTable rowTable=new FlexTable();
  rowTable.setStyleName("String_Node_Str");
  rowTable.setCellSpacing(4);
  rowTable.setSize("String_Node_Str","String_Node_Str");
  Label reqTitleLabel=new Label(req.getTitle());
  Label reqDescriptionLabel=new Label(req.getDescription());
  Label reqStatusLabel=new Label(req.getStatus());
  final SummaryElementHyperLinkElement viewDetailLink=new SummaryElementHyperLinkElement(req.getId(),"String_Node_Str");
  if (this.getCurrentState().getMode().equals(GwtModesType.ReadWrite)) {
    HorizontalPanel links=new HorizontalPanel();
    links.setStyleName("String_Node_Str");
    links.add(viewDetailLink);
    rowTable.setWidget(0,3,links);
  }
 else {
    rowTable.setWidget(0,2,new Label("String_Node_Str"));
  }
  viewDetailLink.addClickHandler(new ClickHandler(){
    @Override public void onClick(    ClickEvent event){
      currentState.setCurrentRisk(viewDetailLink.getRequirementId());
      currentState.setRiskCommand(1);
      History.newItem(ReviewAndFinalizeRequirementsPilot.generateNavigationId(ReviewAndFinalizeRequirementsPilot.PageId.requirementDetail));
    }
  }
);
  int addedItemIndex=getIndexById(modifyRequirementId);
  if (addedItemIndex != -1 && (addedItemIndex + 1) == rowCount) {
    yellowFadeHandler.add(rowTable);
    modifyRequirementId=-1;
  }
  rowTable.setWidget(0,0,reqTitleLabel);
  rowTable.setWidget(0,1,reqDescriptionLabel);
  rowTable.setWidget(0,2,reqStatusLabel);
  rowTable.getCellFormatter().setWidth(0,0,"String_Node_Str");
  rowTable.getCellFormatter().setWidth(0,1,"String_Node_Str");
  rowTable.getCellFormatter().setWidth(0,2,"String_Node_Str");
  rowTable.getCellFormatter().setWidth(0,3,"String_Node_Str");
  rowTable.getCellFormatter().setHorizontalAlignment(0,2,HasHorizontalAlignment.ALIGN_CENTER);
  rowTable.getCellFormatter().setVerticalAlignment(0,0,HasVerticalAlignment.ALIGN_TOP);
  rowTable.getCellFormatter().setHorizontalAlignment(0,0,HasHorizontalAlignment.ALIGN_LEFT);
  rowTable.getCellFormatter().setHorizontalAlignment(0,1,HasHorizontalAlignment.ALIGN_LEFT);
  rowTable.getCellFormatter().setHorizontalAlignment(0,2,HasHorizontalAlignment.ALIGN_CENTER);
  rowTable.getCellFormatter().setVerticalAlignment(0,0,HasVerticalAlignment.ALIGN_TOP);
  rowTable.getCellFormatter().setVerticalAlignment(0,1,HasVerticalAlignment.ALIGN_TOP);
  rowTable.getCellFormatter().setVerticalAlignment(0,2,HasVerticalAlignment.ALIGN_TOP);
  return rowTable;
}

Fixed version (ground truth):
public Widget getDataRow(int rowCount,GwtRequirement req){
  FlexTable rowTable=new FlexTable();
  rowTable.setStyleName("String_Node_Str");
  rowTable.setCellSpacing(4);
  rowTable.setSize("String_Node_Str","String_Node_Str");
  Label reqTitleLabel=new Label(req.getTitle());
  Label reqDescriptionLabel=new Label(req.getDescription());
  Label reqStatusLabel=new Label(req.getStatus());
  final SummaryElementHyperLinkElement viewDetailLink=new SummaryElementHyperLinkElement(req.getId(),"String_Node_Str");
  if (this.getCurrentState().getMode().equals(GwtModesType.ReadOnly) || this.getCurrentState().getMode().equals(GwtModesType.ReadWrite)) {
    HorizontalPanel links=new HorizontalPanel();
    links.setStyleName("String_Node_Str");
    links.add(viewDetailLink);
    rowTable.setWidget(0,3,links);
  }
 else {
    rowTable.setWidget(0,2,new Label("String_Node_Str"));
  }
  viewDetailLink.addClickHandler(new ClickHandler(){
    @Override public void onClick(    ClickEvent event){
      currentState.setCurrentRisk(viewDetailLink.getRequirementId());
      currentState.setRiskCommand(1);
      History.newItem(ReviewAndFinalizeRequirementsPilot.generateNavigationId(ReviewAndFinalizeRequirementsPilot.PageId.requirementDetail));
    }
  }
);
  int addedItemIndex=getIndexById(modifyRequirementId);
  if (addedItemIndex != -1 && (addedItemIndex + 1) == rowCount) {
    yellowFadeHandler.add(rowTable);
    modifyRequirementId=-1;
  }
  rowTable.setWidget(0,0,reqTitleLabel);
  rowTable.setWidget(0,1,reqDescriptionLabel);
  rowTable.setWidget(0,2,reqStatusLabel);
  rowTable.getCellFormatter().setWidth(0,0,"String_Node_Str");
  rowTable.getCellFormatter().setWidth(0,1,"String_Node_Str");
  rowTable.getCellFormatter().setWidth(0,2,"String_Node_Str");
  rowTable.getCellFormatter().setWidth(0,3,"String_Node_Str");
  rowTable.getCellFormatter().setHorizontalAlignment(0,2,HasHorizontalAlignment.ALIGN_CENTER);
  rowTable.getCellFormatter().setVerticalAlignment(0,0,HasVerticalAlignment.ALIGN_TOP);
  rowTable.getCellFormatter().setHorizontalAlignment(0,0,HasHorizontalAlignment.ALIGN_LEFT);
  rowTable.getCellFormatter().setHorizontalAlignment(0,1,HasHorizontalAlignment.ALIGN_LEFT);
  rowTable.getCellFormatter().setHorizontalAlignment(0,2,HasHorizontalAlignment.ALIGN_CENTER);
  rowTable.getCellFormatter().setVerticalAlignment(0,0,HasVerticalAlignment.ALIGN_TOP);
  rowTable.getCellFormatter().setVerticalAlignment(0,1,HasVerticalAlignment.ALIGN_TOP);
  rowTable.getCellFormatter().setVerticalAlignment(0,2,HasVerticalAlignment.ALIGN_TOP);
  return rowTable;
}