code: protected RefreshingView<T> newRefreshingView(final String id, final IModel<List<T>> model)
  	{
  		final RefreshingView<T> listView = new RefreshingView<T>(id, model)
  		{
  			/** The Constant serialVersionUID. */
  			private static final long serialVersionUID = 1L;
  
  			/**
  			 * {@inheritDoc}
  			 */
  			@Override
  			protected Iterator<IModel<T>> getItemModels()
  			{
  				return new ModelIteratorAdapter<T>(getModelObject().iterator())
  				{
  
  					/**
  					 * {@inheritDoc}
  					 */
  					@Override
  					protected IModel<T> model(final T object)
  					{
  						return Model.of(object);
  					}
  				};
  			}
  
  			/**
  			 * {@inheritDoc}
  			 */
  			@Override
  			protected Item<T> newItem(final String id, final int index, final IModel<T> model)
  			{
  				return RefreshingViewPanel.this.newItem(id, index, model);
  			}
  
  			/**
  			 * {@inheritDoc}
  			 */
  			@Override
  			protected void populateItem(final Item<T> item)
  			{
  				item.add(newListComponent("item", item));
  			}
  
  		};
  		listView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance());
  		return listView;
  	}
docs: Factory method for creating a new {@link RefreshingView}. This method is invoked in the
  constructor from the derived classes and can be overridden so users can provide their own
  version of the new {@link RefreshingView}.
  
  @param id
  the id
  @param model
  the model
  @return the new {@link RefreshingView}.