@Override
	protected Button newButton(final String id)
	{
		return new IndicatingAjaxButton(id, getForm())
		{
			/**
			 * The serialVersionUID.
			 */
			private static final long serialVersionUID = 1L;

			/**
			 * {@inheritDoc}
			 */
			@Override
			protected void onError(final AjaxRequestTarget target, final Form<?> form)
			{
			}

			/**
			 * {@inheritDoc}
			 */
			@Override
			protected void onSubmit(final AjaxRequestTarget target, final Form<?> form)
			{
				target.add(form);
				AjaxIndicatingButtonPanel.this.onSubmit(target, form);
			}
		};
	}
@ Override protected Button newButton ( final String id ) { return new IndicatingAjaxButton ( id , getForm ( ) ) { private static final long serialVersionUID = 1L ; @ Override protected void onError ( final AjaxRequestTarget target , final Form < ? > form ) { } @ Override protected void onSubmit ( final AjaxRequestTarget target , final Form < ? > form ) { target . add ( form ) ; AjaxIndicatingButtonPanel . this . onSubmit ( target , form ) ; } } ; }
Factory method for creating the Button. This method is invoked in the constructor from the
derived classes and can be overridden so users can provide their own version of a Button.

@param id
the wicket id
@return the Button