Program: 188811
Project: 188811
Buggy source:
@Override protected void configureDisplay(final CellTable<TransferredResource> display){
  selectColumn=new Column<TransferredResource,Boolean>(new CheckboxCell(true,false)){
    @Override public Boolean getValue(    TransferredResource resource){
      return getSelected().contains(resource);
    }
  }
;
  selectColumn.setFieldUpdater(new FieldUpdater<TransferredResource,Boolean>(){
    @Override public void update(    int index,    TransferredResource resource,    Boolean isSelected){
      if (isSelected) {
        getSelected().add(resource);
      }
 else {
        getSelected().remove(resource);
      }
      display.redrawHeaders();
      fireOnCheckboxSelectionChanged();
    }
  }
);
  isFileColumn=new Column<TransferredResource,SafeHtml>(new SafeHtmlCell()){
    @Override public SafeHtml getValue(    TransferredResource r){
      SafeHtml ret;
      if (r == null) {
        logger.error("String_Node_Str");
        ret=null;
      }
 else       if (r.isFile()) {
        ret=SafeHtmlUtils.fromSafeConstant("String_Node_Str");
      }
 else {
        ret=SafeHtmlUtils.fromSafeConstant("String_Node_Str");
      }
      return ret;
    }
  }
;
  nameColumn=new TextColumn<TransferredResource>(){
    @Override public String getValue(    TransferredResource r){
      return r != null ? r.getName() : null;
    }
  }
;
  sizeColumn=new TextColumn<TransferredResource>(){
    @Override public String getValue(    TransferredResource r){
      return r != null ? Humanize.readableFileSize(r.getSize()) : null;
    }
  }
;
  creationDateColumn=new Column<TransferredResource,Date>(new DateCell(DateTimeFormat.getFormat("String_Node_Str"))){
    @Override public Date getValue(    TransferredResource r){
      return r != null ? r.getCreationDate() : null;
    }
  }
;
  ownerColumn=new TextColumn<TransferredResource>(){
    @Override public String getValue(    TransferredResource r){
      return r != null ? r.getOwner() : null;
    }
  }
;
  isFileColumn.setSortable(true);
  nameColumn.setSortable(true);
  sizeColumn.setSortable(true);
  creationDateColumn.setSortable(true);
  ownerColumn.setSortable(true);
  Header<Boolean> selectHeader=new Header<Boolean>(new CheckboxCell(true,true)){
    @Override public Boolean getValue(){
      Boolean ret;
      if (selected.isEmpty()) {
        ret=false;
      }
 else       if (selected.containsAll(getVisibleItems())) {
        ret=true;
      }
 else {
        ret=false;
      }
      return ret;
    }
  }
;
  selectHeader.setUpdater(new ValueUpdater<Boolean>(){
    @Override public void update(    Boolean value){
      if (value) {
        selected.addAll(getVisibleItems());
      }
 else {
        selected.clear();
      }
      redraw();
      fireOnCheckboxSelectionChanged();
    }
  }
);
  addValueChangeHandler(new ValueChangeHandler<IndexResult<TransferredResource>>(){
    @Override public void onValueChange(    ValueChangeEvent<IndexResult<TransferredResource>> event){
      selected.clear();
      fireOnCheckboxSelectionChanged();
    }
  }
);
  display.addColumn(selectColumn,selectHeader);
  display.addColumn(isFileColumn,SafeHtmlUtils.fromSafeConstant("String_Node_Str"));
  display.addColumn(nameColumn,"String_Node_Str");
  Header<String> sizeHeader=new TextHeader("String_Node_Str");
  Header<String> sizeFooter=new Header<String>(new TextCell()){
    @Override public String getValue(){
      List<TransferredResource> items=display.getVisibleItems();
      if (items.size() == 0) {
        return "String_Node_Str";
      }
 else {
        long totalSize=0;
        for (        TransferredResource item : items) {
          totalSize+=item.getSize();
        }
        return Humanize.readableFileSize(totalSize);
      }
    }
  }
;
  display.addColumn(sizeColumn,sizeHeader,sizeFooter);
  display.addColumn(creationDateColumn,"String_Node_Str");
  display.addColumn(ownerColumn,"String_Node_Str");
  Label emptyInfo=new Label("String_Node_Str");
  display.setEmptyTableWidget(emptyInfo);
  display.setColumnWidth(nameColumn,"String_Node_Str");
  addStyleName("String_Node_Str");
  emptyInfo.addStyleName("String_Node_Str");
  sizeHeader.setHeaderStyleNames("String_Node_Str");
  sizeFooter.setHeaderStyleNames("String_Node_Str");
  sizeColumn.setCellStyleNames("String_Node_Str");
  creationDateColumn.setCellStyleNames("String_Node_Str");
  ownerColumn.setCellStyleNames("String_Node_Str");
}

Fixed version (ground truth):
@Override protected void configureDisplay(final CellTable<TransferredResource> display){
  selectColumn=new Column<TransferredResource,Boolean>(new CheckboxCell(true,false)){
    @Override public Boolean getValue(    TransferredResource resource){
      return getSelected().contains(resource);
    }
  }
;
  selectColumn.setFieldUpdater(new FieldUpdater<TransferredResource,Boolean>(){
    @Override public void update(    int index,    TransferredResource resource,    Boolean isSelected){
      if (isSelected) {
        getSelected().add(resource);
      }
 else {
        getSelected().remove(resource);
      }
      display.redrawHeaders();
      fireOnCheckboxSelectionChanged();
    }
  }
);
  isFileColumn=new Column<TransferredResource,SafeHtml>(new SafeHtmlCell()){
    @Override public SafeHtml getValue(    TransferredResource r){
      SafeHtml ret;
      if (r == null) {
        logger.error("String_Node_Str");
        ret=null;
      }
 else       if (r.isFile()) {
        ret=SafeHtmlUtils.fromSafeConstant("String_Node_Str");
      }
 else {
        ret=SafeHtmlUtils.fromSafeConstant("String_Node_Str");
      }
      return ret;
    }
  }
;
  nameColumn=new TextColumn<TransferredResource>(){
    @Override public String getValue(    TransferredResource r){
      return r != null ? r.getName() : null;
    }
  }
;
  sizeColumn=new TextColumn<TransferredResource>(){
    @Override public String getValue(    TransferredResource r){
      return r != null && r.isFile() ? Humanize.readableFileSize(r.getSize()) : "String_Node_Str";
    }
  }
;
  creationDateColumn=new Column<TransferredResource,Date>(new DateCell(DateTimeFormat.getFormat("String_Node_Str"))){
    @Override public Date getValue(    TransferredResource r){
      return r != null ? r.getCreationDate() : null;
    }
  }
;
  ownerColumn=new TextColumn<TransferredResource>(){
    @Override public String getValue(    TransferredResource r){
      return r != null ? r.getOwner() : null;
    }
  }
;
  isFileColumn.setSortable(true);
  nameColumn.setSortable(true);
  sizeColumn.setSortable(true);
  creationDateColumn.setSortable(true);
  ownerColumn.setSortable(true);
  Header<Boolean> selectHeader=new Header<Boolean>(new CheckboxCell(true,true)){
    @Override public Boolean getValue(){
      Boolean ret;
      if (selected.isEmpty()) {
        ret=false;
      }
 else       if (selected.containsAll(getVisibleItems())) {
        ret=true;
      }
 else {
        ret=false;
      }
      return ret;
    }
  }
;
  selectHeader.setUpdater(new ValueUpdater<Boolean>(){
    @Override public void update(    Boolean value){
      if (value) {
        selected.addAll(getVisibleItems());
      }
 else {
        selected.clear();
      }
      redraw();
      fireOnCheckboxSelectionChanged();
    }
  }
);
  addValueChangeHandler(new ValueChangeHandler<IndexResult<TransferredResource>>(){
    @Override public void onValueChange(    ValueChangeEvent<IndexResult<TransferredResource>> event){
      selected.clear();
      fireOnCheckboxSelectionChanged();
    }
  }
);
  display.addColumn(selectColumn,selectHeader);
  display.addColumn(isFileColumn,SafeHtmlUtils.fromSafeConstant("String_Node_Str"));
  display.addColumn(nameColumn,"String_Node_Str");
  Header<String> sizeHeader=new TextHeader("String_Node_Str");
  Header<String> sizeFooter=new Header<String>(new TextCell()){
    @Override public String getValue(){
      List<TransferredResource> items=display.getVisibleItems();
      if (items.size() == 0) {
        return "String_Node_Str";
      }
 else {
        long totalSize=0;
        for (        TransferredResource item : items) {
          totalSize+=item.getSize();
        }
        return totalSize > 0 ? Humanize.readableFileSize(totalSize) : "String_Node_Str";
      }
    }
  }
;
  display.addColumn(sizeColumn,sizeHeader,sizeFooter);
  display.addColumn(creationDateColumn,"String_Node_Str");
  display.addColumn(ownerColumn,"String_Node_Str");
  Label emptyInfo=new Label("String_Node_Str");
  display.setEmptyTableWidget(emptyInfo);
  display.setColumnWidth(nameColumn,"String_Node_Str");
  addStyleName("String_Node_Str");
  emptyInfo.addStyleName("String_Node_Str");
  sizeHeader.setHeaderStyleNames("String_Node_Str");
  sizeFooter.setHeaderStyleNames("String_Node_Str");
  sizeColumn.setCellStyleNames("String_Node_Str");
  creationDateColumn.setCellStyleNames("String_Node_Str");
  ownerColumn.setCellStyleNames("String_Node_Str");
}