Program: 35456
Project: 35456
Buggy source:
private ColumnModel generateColumnModel(final ContactDTO contactDTO,final ContactRelationshipsPresenter.AnchorHandler anchorHandler){
  List<ColumnConfig> columnConfigs=new ArrayList<ColumnConfig>();
  columnConfigs.add(new ColumnConfig(ContactRelationship.FIELD_NAME,I18N.CONSTANTS.contactRelationshipElementLabel(),200));
  columnConfigs.add(new ColumnConfig(ContactRelationship.GROUP_NAME,I18N.CONSTANTS.contactRelationshipGroupTitle(),200));
  columnConfigs.add(new ColumnConfig(ContactRelationship.FIELD_NAME,I18N.CONSTANTS.contactRelationshipType(),100));
  ColumnConfig nameColumnConfig=new ColumnConfig(ContactRelationship.FIELD_NAME,I18N.CONSTANTS.contactRelationshipName(),250);
  nameColumnConfig.setRenderer(new GridCellRenderer<ContactRelationship>(){
    @Override public Object render(    final ContactRelationship model,    String property,    ColumnData config,    int rowIndex,    int colIndex,    ListStore<ContactRelationship> store,    Grid<ContactRelationship> grid){
      Anchor anchor=new Anchor(model.getName());
      anchor.addClickHandler(new ClickHandler(){
        @Override public void onClick(        ClickEvent event){
          anchorHandler.handleClick(model.getType(),model.getRelationshipId());
        }
      }
);
      return anchor;
    }
  }
);
  columnConfigs.add(nameColumnConfig);
  ColumnConfig memberColumnConfig=new ColumnConfig(ContactRelationship.FIELD_NAME,I18N.CONSTANTS.contactRelationshipMember(),120);
  memberColumnConfig.setRenderer(new GridCellRenderer<ContactRelationship>(){
    @Override public Object render(    ContactRelationship model,    String property,    ColumnData config,    int rowIndex,    int colIndex,    ListStore<ContactRelationship> store,    Grid<ContactRelationship> grid){
      if (model.getDirection() == null) {
        return "String_Node_Str";
      }
switch (model.getDirection()) {
case INBOUND:
        return I18N.MESSAGES.contactRelationshipsInbound(contactDTO.getFullName());
case OUTBOUND:
      return I18N.MESSAGES.contactRelationshipsOutbound(contactDTO.getFullName());
default :
    return "String_Node_Str";
}
}
}
);
columnConfigs.add(memberColumnConfig);
return new ColumnModel(columnConfigs);
}

Fixed version (ground truth):
private ColumnModel generateColumnModel(final ContactDTO contactDTO,final ContactRelationshipsPresenter.AnchorHandler anchorHandler){
  List<ColumnConfig> columnConfigs=new ArrayList<ColumnConfig>();
  columnConfigs.add(new ColumnConfig(ContactRelationship.FIELD_NAME,I18N.CONSTANTS.contactRelationshipElementLabel(),200));
  columnConfigs.add(new ColumnConfig(ContactRelationship.GROUP_NAME,I18N.CONSTANTS.contactRelationshipGroupTitle(),200));
  columnConfigs.add(new ColumnConfig(ContactRelationship.FORMATTED_TYPE,I18N.CONSTANTS.contactRelationshipType(),100));
  ColumnConfig nameColumnConfig=new ColumnConfig(ContactRelationship.FIELD_NAME,I18N.CONSTANTS.contactRelationshipName(),250);
  nameColumnConfig.setRenderer(new GridCellRenderer<ContactRelationship>(){
    @Override public Object render(    final ContactRelationship model,    String property,    ColumnData config,    int rowIndex,    int colIndex,    ListStore<ContactRelationship> store,    Grid<ContactRelationship> grid){
      Anchor anchor=new Anchor(model.getName());
      anchor.addClickHandler(new ClickHandler(){
        @Override public void onClick(        ClickEvent event){
          anchorHandler.handleClick(model.getType(),model.getRelationshipId());
        }
      }
);
      return anchor;
    }
  }
);
  columnConfigs.add(nameColumnConfig);
  ColumnConfig memberColumnConfig=new ColumnConfig(ContactRelationship.FIELD_NAME,I18N.CONSTANTS.contactRelationshipMember(),120);
  memberColumnConfig.setRenderer(new GridCellRenderer<ContactRelationship>(){
    @Override public Object render(    ContactRelationship model,    String property,    ColumnData config,    int rowIndex,    int colIndex,    ListStore<ContactRelationship> store,    Grid<ContactRelationship> grid){
      if (model.getDirection() == null) {
        return "String_Node_Str";
      }
switch (model.getDirection()) {
case INBOUND:
        return I18N.MESSAGES.contactRelationshipsInbound(contactDTO.getFullName());
case OUTBOUND:
      return I18N.MESSAGES.contactRelationshipsOutbound(contactDTO.getFullName());
default :
    return "String_Node_Str";
}
}
}
);
columnConfigs.add(memberColumnConfig);
return new ColumnModel(columnConfigs);
}