code: protected Component newEmailTextField(final String id,
  		final IModel<PasswordForgottenModelBean> model)
  	{
  		final IModel<String> labelModel = ResourceModelFactory.newResourceModel(
  			"password.forgotten.content.label", this, "Give email in the Textfield");
  		final IModel<String> placeholderModel = ResourceModelFactory
  			.newResourceModel("global.enter.your.email.label", this, "Enter your email here");
  		final LabeledEmailTextFieldPanel<String, PasswordForgottenModelBean> emailTextField = new LabeledEmailTextFieldPanel<String, PasswordForgottenModelBean>(
  			id, model, labelModel)
  		{
  
  			/**
  			 * The serialVersionUID.
  			 */
  			private static final long serialVersionUID = 1L;
  
  			/**
  			 * {@inheritDoc}
  			 */
  			@Override
  			protected EmailTextField newEmailTextField(final String id,
  				final IModel<PasswordForgottenModelBean> model)
  			{
  				final EmailTextField emailTextField = new EmailTextField(id,
  					new PropertyModel<>(model, "email"));
  				emailTextField.setOutputMarkupId(true);
  				emailTextField.setRequired(true);
  				if (placeholderModel != null)
  				{
  					emailTextField.add(new AttributeAppender("placeholder", placeholderModel));
  				}
  				return emailTextField;
  			}
  		};
  		return emailTextField;
  	}
docs: Factory method for creating the EmailTextField for the email. This method is invoked in the
  constructor from the derived classes and can be overridden so users can provide their own
  version of a EmailTextField for the email.
  
  @param id
  the id
  @param model
  the model
  @return the text field