Program: 35562
Project: 35562
Buggy source:
/** 
 * Builds the monitored points grid columns configuration.
 * @return The monitored points grid columns list.
 */
private static List<ColumnConfig> createMonitoredPointsGridColumns(){
  final DateTimeFormat format=DateUtils.DATE_SHORT;
  final Date now=new Date();
  final ColumnConfig iconColumn=new ColumnConfig();
  iconColumn.setId("String_Node_Str");
  iconColumn.setHeaderHtml("String_Node_Str");
  iconColumn.setWidth(16);
  iconColumn.setResizable(false);
  iconColumn.setRenderer(new GridCellRenderer<MonitoredPointDTO>(){
    @Override public Object render(    final MonitoredPointDTO model,    final String property,    final ColumnData config,    final int rowIndex,    final int colIndex,    final ListStore<MonitoredPointDTO> store,    final Grid<MonitoredPointDTO> grid){
      if (DateUtils.DAY_COMPARATOR.compare(now,model.getExpectedDate()) > 0) {
        return IconImageBundle.ICONS.overduePoint().createImage();
      }
 else {
        return IconImageBundle.ICONS.openedPoint().createImage();
      }
    }
  }
);
  final ColumnConfig labelColumn=new ColumnConfig();
  labelColumn.setId(MonitoredPointDTO.LABEL);
  labelColumn.setHeaderHtml(I18N.CONSTANTS.monitoredPointLabel());
  labelColumn.setWidth(100);
  final ColumnConfig expectedDateColumn=new ColumnConfig();
  expectedDateColumn.setId(MonitoredPointDTO.EXPECTED_DATE);
  expectedDateColumn.setHeaderHtml(I18N.CONSTANTS.monitoredPointExpectedDate());
  expectedDateColumn.setWidth(60);
  expectedDateColumn.setDateTimeFormat(format);
  expectedDateColumn.setRenderer(new GridCellRenderer<MonitoredPointDTO>(){
    @Override public Object render(    final MonitoredPointDTO model,    final String property,    final ColumnData config,    final int rowIndex,    final int colIndex,    final ListStore<MonitoredPointDTO> store,    final Grid<MonitoredPointDTO> grid){
      final Label label=new Label(format.format(model.getExpectedDate()));
      if (!model.isCompleted() && DateUtils.DAY_COMPARATOR.compare(now,model.getExpectedDate()) > 0) {
        label.addStyleName(EXPECTED_DATE_LABEL_STYLE);
      }
      return label;
    }
  }
);
  return Arrays.asList(new ColumnConfig[]{iconColumn,labelColumn,expectedDateColumn});
}

Fixed version (ground truth):
/** 
 * Builds the monitored points grid columns configuration.
 * @return The monitored points grid columns list.
 */
private static List<ColumnConfig> createMonitoredPointsGridColumns(){
  final DateTimeFormat format=DateUtils.DATE_SHORT;
  final Date now=new Date();
  final ColumnConfig iconColumn=new ColumnConfig();
  iconColumn.setId("String_Node_Str");
  iconColumn.setHeaderHtml("String_Node_Str");
  iconColumn.setWidth(16);
  iconColumn.setResizable(false);
  iconColumn.setRenderer(new GridCellRenderer<MonitoredPointDTO>(){
    @Override public Object render(    final MonitoredPointDTO model,    final String property,    final ColumnData config,    final int rowIndex,    final int colIndex,    final ListStore<MonitoredPointDTO> store,    final Grid<MonitoredPointDTO> grid){
      if (DateUtils.DAY_COMPARATOR.compare(now,model.getExpectedDate()) > 0) {
        return IconImageBundle.ICONS.overduePoint().createImage();
      }
 else {
        return IconImageBundle.ICONS.openedPoint().createImage();
      }
    }
  }
);
  final ColumnConfig labelColumn=new ColumnConfig();
  labelColumn.setId(MonitoredPointDTO.LABEL);
  labelColumn.setHeaderHtml(I18N.CONSTANTS.monitoredPointLabel());
  labelColumn.setWidth(100);
  final ColumnConfig projectCodeColumn=new ColumnConfig();
  projectCodeColumn.setId(MonitoredPointDTO.PROJECT_CODE);
  projectCodeColumn.setHeaderHtml(I18N.CONSTANTS.project());
  projectCodeColumn.setWidth(100);
  final ColumnConfig projectNameColumn=new ColumnConfig();
  projectNameColumn.setId(MonitoredPointDTO.PROJECT_NAME);
  projectNameColumn.setHeaderHtml(I18N.CONSTANTS.projectName());
  projectNameColumn.setWidth(100);
  projectNameColumn.setRenderer(new GridCellRenderer<MonitoredPointDTO>(){
    @Override public Object render(    final MonitoredPointDTO model,    String property,    ColumnData config,    int rowIndex,    int colIndex,    ListStore<MonitoredPointDTO> store,    Grid<MonitoredPointDTO> grid){
      final com.google.gwt.user.client.ui.Label label=new com.google.gwt.user.client.ui.Label((String)model.get(property));
      label.addStyleName("String_Node_Str");
      label.addClickHandler(new ClickHandler(){
        @Override public void onClick(        ClickEvent event){
          handler.onLabelClickEvent(model.getProjectId());
        }
      }
);
      return label;
    }
  }
);
  final ColumnConfig expectedDateColumn=new ColumnConfig();
  expectedDateColumn.setId(MonitoredPointDTO.EXPECTED_DATE);
  expectedDateColumn.setHeaderHtml(I18N.CONSTANTS.monitoredPointExpectedDate());
  expectedDateColumn.setWidth(60);
  expectedDateColumn.setDateTimeFormat(format);
  expectedDateColumn.setRenderer(new GridCellRenderer<MonitoredPointDTO>(){
    @Override public Object render(    final MonitoredPointDTO model,    final String property,    final ColumnData config,    final int rowIndex,    final int colIndex,    final ListStore<MonitoredPointDTO> store,    final Grid<MonitoredPointDTO> grid){
      final Label label=new Label(format.format(model.getExpectedDate()));
      if (!model.isCompleted() && DateUtils.DAY_COMPARATOR.compare(now,model.getExpectedDate()) > 0) {
        label.addStyleName(EXPECTED_DATE_LABEL_STYLE);
      }
      return label;
    }
  }
);
  return Arrays.asList(new ColumnConfig[]{iconColumn,labelColumn,projectNameColumn,projectCodeColumn,expectedDateColumn});
}