Program: 35644
Project: 35644
Buggy source:
private void buildTree(){
  final ArrayList<ColumnConfig> columns=new ArrayList<ColumnConfig>();
  final ColumnConfig nameColumn=new ColumnConfig();
  nameColumn.setId("String_Node_Str");
  nameColumn.setHeader(I18N.CONSTANTS.projectName());
  nameColumn.setRenderer(new TreeGridCellRenderer<OrgUnitDTOLight>());
  nameColumn.setWidth(150);
  final ColumnConfig fullNameColumn=new ColumnConfig();
  fullNameColumn.setId("String_Node_Str");
  fullNameColumn.setHeader(I18N.CONSTANTS.projectFullName());
  final ColumnConfig countryColumn=new ColumnConfig();
  countryColumn.setId("String_Node_Str");
  countryColumn.setHeader(I18N.CONSTANTS.projectCountry());
  countryColumn.setWidth(100);
  countryColumn.setRenderer(new GridCellRenderer<OrgUnitDTOLight>(){
    @Override public Object render(    final OrgUnitDTOLight model,    String property,    ColumnData config,    int rowIndex,    int colIndex,    ListStore<OrgUnitDTOLight> store,    Grid<OrgUnitDTOLight> grid){
      final CountryDTO country=(CountryDTO)model.get(property);
      if (country == null) {
        return "String_Node_Str";
      }
 else {
        return country.getName() + "String_Node_Str" + country.getCodeISO()+ ')';
      }
    }
  }
);
  final TreeStore<OrgUnitDTOLight> store=new TreeStore<OrgUnitDTOLight>();
  store.setSortInfo(new SortInfo("String_Node_Str",SortDir.ASC));
  store.setStoreSorter(new StoreSorter<OrgUnitDTOLight>(){
    @Override public int compare(    Store<OrgUnitDTOLight> store,    OrgUnitDTOLight m1,    OrgUnitDTOLight m2,    String property){
      if ("String_Node_Str".equals(property)) {
        return ((CountryDTO)m1.get(property)).getName().compareToIgnoreCase(((CountryDTO)m2.get(property)).getName());
      }
 else {
        return super.compare(store,m1,m2,property);
      }
    }
  }
);
  selectionModel=new TreeGridCheckboxSelectionModel<OrgUnitDTOLight>();
  columns.add(selectionModel.getColumn());
  columns.add(nameColumn);
  columns.add(fullNameColumn);
  columns.add(countryColumn);
  tree=new TreeGrid<OrgUnitDTOLight>(store,new ColumnModel(columns));
  tree.setBorders(true);
  tree.getStyle().setLeafIcon(OrgUnitImageBundle.ICONS.orgUnitSmall());
  tree.getStyle().setNodeCloseIcon(OrgUnitImageBundle.ICONS.orgUnitSmall());
  tree.getStyle().setNodeOpenIcon(OrgUnitImageBundle.ICONS.orgUnitSmallTransparent());
  tree.setAutoExpandColumn("String_Node_Str");
  tree.setTrackMouseOver(false);
  tree.setSelectionModel(selectionModel);
  tree.addPlugin(selectionModel);
}

Fixed version (ground truth):
private void buildTree(){
  final ArrayList<ColumnConfig> columns=new ArrayList<ColumnConfig>();
  final ColumnConfig nameColumn=new ColumnConfig();
  nameColumn.setId("String_Node_Str");
  nameColumn.setHeader(I18N.CONSTANTS.projectName());
  nameColumn.setRenderer(new TreeGridCellRenderer<OrgUnitDTOLight>());
  nameColumn.setWidth(150);
  final ColumnConfig fullNameColumn=new ColumnConfig();
  fullNameColumn.setId("String_Node_Str");
  fullNameColumn.setHeader(I18N.CONSTANTS.projectFullName());
  final ColumnConfig countryColumn=new ColumnConfig();
  countryColumn.setId("String_Node_Str");
  countryColumn.setHeader(I18N.CONSTANTS.projectCountry());
  countryColumn.setWidth(100);
  countryColumn.setRenderer(new GridCellRenderer<OrgUnitDTOLight>(){
    @Override public Object render(    final OrgUnitDTOLight model,    String property,    ColumnData config,    int rowIndex,    int colIndex,    ListStore<OrgUnitDTOLight> store,    Grid<OrgUnitDTOLight> grid){
      final CountryDTO country=(CountryDTO)model.get(property);
      if (country == null) {
        return "String_Node_Str";
      }
 else {
        return country.getName() + "String_Node_Str" + country.getCodeISO()+ ')';
      }
    }
  }
);
  final ColumnConfig modelColumn=new ColumnConfig();
  modelColumn.setId("String_Node_Str");
  modelColumn.setHeader(I18N.CONSTANTS.projectModel());
  modelColumn.setWidth(200);
  modelColumn.setRenderer(new GridCellRenderer<OrgUnitDTOLight>(){
    @Override public Object render(    OrgUnitDTOLight model,    String property,    ColumnData config,    int rowIndex,    int colIndex,    ListStore<OrgUnitDTOLight> store,    Grid<OrgUnitDTOLight> grid){
      final OrgUnitModelDTO orgUnitModel=(OrgUnitModelDTO)model.get(property);
      if (orgUnitModel == null) {
        return "String_Node_Str";
      }
 else {
        return orgUnitModel.getName();
      }
    }
  }
);
  final TreeStore<OrgUnitDTOLight> store=new TreeStore<OrgUnitDTOLight>();
  store.setSortInfo(new SortInfo("String_Node_Str",SortDir.ASC));
  store.setStoreSorter(new StoreSorter<OrgUnitDTOLight>(){
    @Override public int compare(    Store<OrgUnitDTOLight> store,    OrgUnitDTOLight m1,    OrgUnitDTOLight m2,    String property){
      if ("String_Node_Str".equals(property)) {
        return ((CountryDTO)m1.get(property)).getName().compareToIgnoreCase(((CountryDTO)m2.get(property)).getName());
      }
 else {
        return super.compare(store,m1,m2,property);
      }
    }
  }
);
  selectionModel=new TreeGridCheckboxSelectionModel<OrgUnitDTOLight>();
  columns.add(selectionModel.getColumn());
  columns.add(nameColumn);
  columns.add(fullNameColumn);
  columns.add(countryColumn);
  columns.add(modelColumn);
  tree=new TreeGrid<OrgUnitDTOLight>(store,new ColumnModel(columns));
  tree.setBorders(true);
  tree.getStyle().setLeafIcon(OrgUnitImageBundle.ICONS.orgUnitSmall());
  tree.getStyle().setNodeCloseIcon(OrgUnitImageBundle.ICONS.orgUnitSmall());
  tree.getStyle().setNodeOpenIcon(OrgUnitImageBundle.ICONS.orgUnitSmallTransparent());
  tree.setAutoExpandColumn("String_Node_Str");
  tree.setTrackMouseOver(false);
  tree.setSelectionModel(selectionModel);
  tree.addPlugin(selectionModel);
}