protected Check<T> newCheck(final String id, final IModel<T> model, final int index)
	{
		final Check<T> check = new Check<T>(id, model)
		{

			/**
			 * The serialVersionUID.
			 */
			private static final long serialVersionUID = 1L;

			/**
			 * {@inheritDoc}
			 */
			@Override
			public IModel<String> getLabel()
			{
				return Model.of(getChoiceLabel(getModelObject()));
			}

			/**
			 * {@inheritDoc}
			 */
			@Override
			protected boolean getStatelessHint()
			{
				return true;
			}

			/**
			 * {@inheritDoc}
			 */
			@Override
			public String getValue()
			{
				return getChoiceValue(getModelObject(), index);
			}
		};
		return check;
	}
protected Check < T > newCheck ( final String id , final IModel < T > model , final int index ) { final Check < T > check = new Check < T > ( id , model ) { private static final long serialVersionUID = 1L ; @ Override public IModel < String > getLabel ( ) { return Model . of ( getChoiceLabel ( getModelObject ( ) ) ) ; } @ Override protected boolean getStatelessHint ( ) { return true ; } @ Override public String getValue ( ) { return getChoiceValue ( getModelObject ( ) , index ) ; } } ; return check ; }
Factory method for create a new {@link Check}. This method is invoked in the constructor from
the derived classes and can be overridden so users can provide their own version of a new
{@link Check}.

@param id
the id
@param model
the model
@param index
the index
@return the new {@link Check}.