Program: 167542
Project: 167542
Buggy source:
protected TreeTable buildTreeTable(){
  final TreeTable table=new TreeTable();
  table.addStyleName(ValoTheme.TREETABLE_NO_HORIZONTAL_LINES);
  table.addStyleName(ValoTheme.TREETABLE_NO_STRIPES);
  table.addStyleName(ValoTheme.TREETABLE_NO_VERTICAL_LINES);
  table.addStyleName(ValoTheme.TREETABLE_BORDERLESS);
  table.setColumnHeaderMode(ColumnHeaderMode.HIDDEN);
  table.setSizeFull();
  table.setCacheRate(100);
  table.setPageLength(100);
  table.setImmediate(true);
  table.setSelectable(true);
  table.setEditable(false);
  table.setContainerDataSource(new BeanItemContainer<AbstractObject>(AbstractObject.class));
  table.setVisibleColumns(new Object[]{"String_Node_Str"});
  table.setColumnExpandRatio("String_Node_Str",1);
  table.addShortcutListener(new ShortcutListener("String_Node_Str",KeyCode.ENTER,null){
    public void handleAction(    Object sender,    Object target){
      Set<Object> selectedIds=getTableValues();
      for (      Object object : selectedIds) {
        openItem(object);
      }
    }
  }
);
  table.addItemClickListener(new ItemClickListener(){
    public void itemClick(    ItemClickEvent event){
      if (event.getButton() == MouseButton.LEFT) {
        if (event.isDoubleClick()) {
        }
 else {
        }
      }
    }
  }
);
  table.addCollapseListener(new CollapseListener(){
    public void nodeCollapse(    CollapseEvent event){
      if (event.getItemId() instanceof Folder) {
        table.setItemIcon(event.getItemId(),FontAwesome.FOLDER);
      }
    }
  }
);
  table.addExpandListener(new ExpandListener(){
    public void nodeExpand(    ExpandEvent event){
      if (event.getItemId() instanceof Folder) {
        Folder folder=(Folder)event.getItemId();
        table.setItemIcon(folder,FontAwesome.FOLDER_OPEN);
        folderExpanded(folder);
      }
    }
  }
);
  table.setCellStyleGenerator(new CellStyleGenerator(){
    public String getStyle(    Table source,    Object itemId,    Object propertyId){
      if (itemId instanceof Folder && "String_Node_Str".equals(propertyId)) {
        return "String_Node_Str";
      }
 else {
        return null;
      }
    }
  }
);
  return table;
}

Fixed version (ground truth):
protected TreeTable buildTreeTable(){
  final TreeTable table=new TreeTable();
  table.addStyleName(ValoTheme.TREETABLE_NO_HORIZONTAL_LINES);
  table.addStyleName(ValoTheme.TREETABLE_NO_STRIPES);
  table.addStyleName(ValoTheme.TREETABLE_NO_VERTICAL_LINES);
  table.addStyleName(ValoTheme.TREETABLE_BORDERLESS);
  table.setColumnHeaderMode(ColumnHeaderMode.HIDDEN);
  table.setSizeFull();
  table.setCacheRate(100);
  table.setPageLength(100);
  table.setImmediate(true);
  table.setSelectable(true);
  table.setEditable(false);
  table.setContainerDataSource(new BeanItemContainer<AbstractObject>(AbstractObject.class));
  table.setVisibleColumns(new Object[]{"String_Node_Str"});
  table.setColumnExpandRatio("String_Node_Str",1);
  table.addItemClickListener(new ItemClickListener(){
    public void itemClick(    ItemClickEvent event){
      if (event.getButton() == MouseButton.LEFT) {
        if (event.isDoubleClick()) {
          if (treeTable.hasChildren(event.getItemId())) {
            treeTable.setCollapsed(event.getItemId(),!treeTable.isCollapsed(event.getItemId()));
          }
        }
      }
    }
  }
);
  table.addCollapseListener(new CollapseListener(){
    public void nodeCollapse(    CollapseEvent event){
      if (event.getItemId() instanceof Folder) {
        table.setItemIcon(event.getItemId(),FontAwesome.FOLDER);
      }
    }
  }
);
  table.addExpandListener(new ExpandListener(){
    public void nodeExpand(    ExpandEvent event){
      if (event.getItemId() instanceof Folder) {
        Folder folder=(Folder)event.getItemId();
        table.setItemIcon(folder,FontAwesome.FOLDER_OPEN);
        folderExpanded(folder);
      }
    }
  }
);
  table.setCellStyleGenerator(new CellStyleGenerator(){
    public String getStyle(    Table source,    Object itemId,    Object propertyId){
      if (itemId instanceof Folder && "String_Node_Str".equals(propertyId)) {
        return "String_Node_Str";
      }
 else {
        return null;
      }
    }
  }
);
  return table;
}