Program: 143713
Project: 143713
Buggy source:
private void setUpItem(final ListItem<IRecordInternal> listItem,boolean createComponents){
  if (!createComponents) {
    List<IBehavior> allBehaviors=listItem.getBehaviors();
    for (int i=0; i < allBehaviors.size(); i++) {
      listItem.remove(allBehaviors.get(i));
    }
  }
  final IRecordInternal rec=listItem.getModelObject();
  Object color=WebCellBasedView.this.getListItemBgColor(listItem,false);
  if (color instanceof Undefined)   color=null;
  Object fgColor=WebCellBasedView.this.getListItemFgColor(listItem,false);
  if (fgColor instanceof Undefined)   fgColor=null;
  Object styleFont=WebCellBasedView.this.getListItemFont(listItem,false);
  if (styleFont instanceof Undefined)   styleFont=null;
  if (color == null && fgColor == null && styleFont == null) {
    listItem.add(new AttributeModifier("String_Node_Str",new Model<String>((listItem.getIndex() % 2) == 0 ? "String_Node_Str" : "String_Node_Str")));
  }
  final int visibleRowIndex=listItem.getIndex() % getRowsPerPage();
  if (createComponents) {
    final Object compColor=color;
    final Object compFgColor=fgColor;
    final Object compFont=styleFont;
    createComponents(application,form,cellview,dataProviderLookup,el,startY,endY,new ItemAdd(){
      public void add(      IPersist element,      final Component comp){
        Component component=elementToColumnIdentifierComponent.values().iterator().next();
        if ((component instanceof IComponent) && (comp instanceof IScriptableProvider)) {
          IScriptable scriptable=((IScriptableProvider)comp).getScriptObject();
          if (scriptable instanceof IScriptBaseMethods) {
            IScriptBaseMethods ic=(IScriptBaseMethods)scriptable;
            ic.js_setSize(ic.js_getWidth(),((IComponent)component).getSize().height);
          }
        }
        cellToElement.put(comp,element);
        Component listItemChild=comp;
        if (element instanceof ISupportName) {
          String elementName=((ISupportName)element).getName();
          if ((elementName != null) && (elementName.trim().length() > 0) || WebCellBasedView.this.addHeaders) {
            listItemChild=new CellContainer(comp.getId() + '_');
            listItemChild.setOutputMarkupPlaceholderTag(true);
            ((MarkupContainer)listItemChild).add(comp);
          }
        }
        listItem.add(listItemChild);
        setUpComponent(comp,rec,compColor,compFgColor,compFont,visibleRowIndex);
      }
    }
);
  }
 else {
    Iterator<? extends Component> children=listItem.iterator();
    while (children.hasNext()) {
      Component child=CellContainer.getContentsForCell(children.next());
      initializeComponent(child,cellview,cellToElement.get(child));
      setUpComponent(child,rec,color,fgColor,styleFont,visibleRowIndex);
    }
  }
  enableChildrenInContainer(this,isEnabled());
}

Fixed version (ground truth):
private void setUpItem(final ListItem<IRecordInternal> listItem,boolean createComponents){
  if (!createComponents) {
    List<IBehavior> allBehaviors=listItem.getBehaviors();
    for (int i=0; i < allBehaviors.size(); i++) {
      listItem.remove(allBehaviors.get(i));
    }
  }
  final IRecordInternal rec=listItem.getModelObject();
  boolean selected=isRecordSelected(rec);
  Object color=WebCellBasedView.this.getListItemBgColor(listItem,selected);
  if (color instanceof Undefined)   color=null;
  Object fgColor=WebCellBasedView.this.getListItemFgColor(listItem,selected);
  if (fgColor instanceof Undefined)   fgColor=null;
  Object styleFont=WebCellBasedView.this.getListItemFont(listItem,selected);
  if (styleFont instanceof Undefined)   styleFont=null;
  if (color == null && fgColor == null && styleFont == null) {
    listItem.add(new AttributeModifier("String_Node_Str",new Model<String>((listItem.getIndex() % 2) == 0 ? "String_Node_Str" : "String_Node_Str")));
  }
  final int visibleRowIndex=listItem.getIndex() % getRowsPerPage();
  if (createComponents) {
    final Object compColor=color;
    final Object compFgColor=fgColor;
    final Object compFont=styleFont;
    createComponents(application,form,cellview,dataProviderLookup,el,startY,endY,new ItemAdd(){
      public void add(      IPersist element,      final Component comp){
        Component component=elementToColumnIdentifierComponent.values().iterator().next();
        if ((component instanceof IComponent) && (comp instanceof IScriptableProvider)) {
          IScriptable scriptable=((IScriptableProvider)comp).getScriptObject();
          if (scriptable instanceof IScriptBaseMethods) {
            IScriptBaseMethods ic=(IScriptBaseMethods)scriptable;
            ic.js_setSize(ic.js_getWidth(),((IComponent)component).getSize().height);
          }
        }
        cellToElement.put(comp,element);
        Component listItemChild=comp;
        if (element instanceof ISupportName) {
          String elementName=((ISupportName)element).getName();
          if ((elementName != null) && (elementName.trim().length() > 0) || WebCellBasedView.this.addHeaders) {
            listItemChild=new CellContainer(comp.getId() + '_');
            listItemChild.setOutputMarkupPlaceholderTag(true);
            ((MarkupContainer)listItemChild).add(comp);
          }
        }
        listItem.add(listItemChild);
        setUpComponent(comp,rec,compColor,compFgColor,compFont,visibleRowIndex);
      }
    }
);
  }
 else {
    Iterator<? extends Component> children=listItem.iterator();
    while (children.hasNext()) {
      Component child=CellContainer.getContentsForCell(children.next());
      initializeComponent(child,cellview,cellToElement.get(child));
      setUpComponent(child,rec,color,fgColor,styleFont,visibleRowIndex);
    }
  }
  enableChildrenInContainer(this,isEnabled());
}