code: protected ListView<T> newChoices(final String id, final IModel<CheckboxModelBean<T>> model)
  	{
  		final ListView<T> choices = new ListView<T>("choices", model.getObject().getChoices())
  		{
  			/** The serialVersionUID. */
  			private static final long serialVersionUID = 1L;
  
  			/**
  			 * {@inheritDoc}
  			 */
  			@Override
  			protected void populateItem(final ListItem<T> item)
  			{
  				item.add(new Check<>("checkbox", item.getModel()));
  				item.add(new Label("label", new PropertyModel<String>(item.getDefaultModel(),
  					model.getObject().getLabelPropertyExpression())));
  			}
  		};
  		choices.setReuseItems(true);
  		return choices;
  	}
docs: Factory method for creating the new {@link ListView} for the choices. 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 ListView} for the choices.
  
  @param id
  the id
  @param model
  the model
  @return the new {@link ListView} for the choices.