Buggy code:
public abstract class AbstractDataGridView < T > extends DataViewBase < T > { private static final long serialVersionUID = 1L ; private static final String CELL_REPEATER_ID = "cells" ; private static final String CELL_ITEM_ID = "cell" ; private final ICellPopulator < T > [ ] populators ; private transient ArrayIteratorAdapter < ICellPopulator < T > > populatorsIteratorCache ; public AbstractDataGridView ( String id , ICellPopulator < T > [ ] populators , IDataProvider < T > dataProvider ) { } private ArrayIteratorAdapter < ICellPopulator < T > > getPopulatorsIterator ( ) { } protected final ICellPopulator < T > [ ] internalGetPopulators ( ) { } protected Item < ICellPopulator < T > > newCellItem ( final String id , int index , final IModel < ICellPopulator < T > > model ) { } @ Override protected final Item < T > newItem ( String id , int index , IModel < T > model ) { } protected Item < T > newRowItem ( final String id , int index , final IModel < T > model ) { } @ Override protected void onDetach ( ) { } @ Override protected final void populateItem ( Item < T > item ) { RepeatingView < T > cells = new RepeatingView < T > ( AbstractDataGridView . CELL_REPEATER_ID ) ; item . add ( cells ) ; ArrayIteratorAdapter < ICellPopulator < T > > populators = getPopulatorsIterator ( ) ; for ( int i = 0 ; populators . hasNext ( ) ; i ++ ) { IModel < ICellPopulator < T > > populatorModel = populators . next ( ) ; Item < ICellPopulator < T > > cellItem = newCellItem ( cells . newChildId ( ) , i , populatorModel ) ; cells . add ( cellItem ) ; ICellPopulator < T > populator = cellItem . getModelObject ( ) ; populator . populateItem ( cellItem , AbstractDataGridView . CELL_ITEM_ID , item . getModel ( ) ) ; if ( ( cellItem . get ( "cell" ) ) == null ) { <START_BUG> throw new org . apache . wicket . WicketRuntimeException ( ( ( ( ( populator . getClass ( ) . getName ( ) ) + ".populateItem()<seq2seq4repair_space>failed<seq2seq4repair_space>to<seq2seq4repair_space>add<seq2seq4repair_space>a<seq2seq4repair_space>component<seq2seq4repair_space>with<seq2seq4repair_space>id<seq2seq4repair_space>[" ) + ( AbstractDataGridView . CELL_ITEM_ID ) ) + "]<seq2seq4repair_space>to<seq2seq4repair_space>the<seq2seq4repair_space>provided<seq2seq4repair_space>[cellItem]<seq2seq4repair_space>object.<seq2seq4repair_space>Make<seq2seq4repair_space>sure<seq2seq4repair_space>you<seq2seq4repair_space>call<seq2seq4repair_space>add()<seq2seq4repair_space>on<seq2seq4repair_space>cellItem<seq2seq4repair_space>(<seq2seq4repair_space>cellItem.add(new<seq2seq4repair_space>MyComponent(componentId,<seq2seq4repair_space>rowModel)<seq2seq4repair_space>)" ) ) ; <END_BUG> } } } }

Fix:
throw new org . apache . wicket . WicketRuntimeException ( ( ( ( ( populator . getClass ( ) . getName ( ) ) + ".populateItem()<seq2seq4repair_space>failed<seq2seq4repair_space>to<seq2seq4repair_space>add<seq2seq4repair_space>a<seq2seq4repair_space>component<seq2seq4repair_space>with<seq2seq4repair_space>id<seq2seq4repair_space>[" ) + ( AbstractDataGridView . CELL_ITEM_ID ) ) + "]<seq2seq4repair_space>to<seq2seq4repair_space>the<seq2seq4repair_space>provided<seq2seq4repair_space>[cellItem]<seq2seq4repair_space>object.<seq2seq4repair_space>Make<seq2seq4repair_space>sure<seq2seq4repair_space>you<seq2seq4repair_space>call<seq2seq4repair_space>add()<seq2seq4repair_space>on<seq2seq4repair_space>cellItem<seq2seq4repair_space>and<seq2seq4repair_space>make<seq2seq4repair_space>sure<seq2seq4repair_space>you<seq2seq4repair_space>gave<seq2seq4repair_space>the<seq2seq4repair_space>added<seq2seq4repair_space>component<seq2seq4repair_space>passed<seq2seq4repair_space>in<seq2seq4repair_space>'componentId'<seq2seq4repair_space>id.<seq2seq4repair_space>(<seq2seq4repair_space>*cellItem*.add(new<seq2seq4repair_space>MyComponent(*componentId*,<seq2seq4repair_space>rowModel)<seq2seq4repair_space>)" ) ) ;