code: protected LabeledPasswordTextFieldPanel<String, T> newPasswordTextField(final String id,
  		final IModel<T> model)
  	{
  		final IModel<String> labelModel = ResourceModelFactory
  			.newResourceModel("global.password.label", this);
  		final IModel<String> placeholderModel = ResourceModelFactory
  			.newResourceModel("global.enter.your.password.label", this);
  		final LabeledPasswordTextFieldPanel<String, T> pwTextField = new LabeledPasswordTextFieldPanel<String, T>(
  			id, model, labelModel)
  		{
  
  			/** The Constant serialVersionUID. */
  			private static final long serialVersionUID = 1L;
  
  			/**
  			 * {@inheritDoc}
  			 */
  			@Override
  			protected PasswordTextField newPasswordTextField(final String id, final IModel<T> model)
  			{
  				final PasswordTextField pwTextField = new PasswordTextField(id,
  					new PropertyModel<>(model, "password"));
  				pwTextField.setOutputMarkupId(true);
  				if (placeholderModel != null)
  				{
  					pwTextField.add(new AttributeAppender("placeholder", placeholderModel));
  				}
  				return pwTextField;
  			}
  		};
  		return pwTextField;
  	}
docs: Factory method for creating the EmailTextField for the password. 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 password.
  
  @param id
  the id
  @param model
  the model
  @return the text field LabeledPasswordTextFieldPanel