code: protected DateTextField newDateTextField(final String id, final IModel<M> model)
  	{
  		final IModel<Date> textFieldModel = new PropertyModel<>(model.getObject(), getId());
  
  		final DateTextField dateTextField = new DateTextField(id, textFieldModel,
  			new StyleDateConverter("S-", true))
  		{
  			/**
  			 * The serialVersionUID.
  			 */
  			private static final long serialVersionUID = 1L;
  
  			/**
  			 * {@inheritDoc}
  			 */
  			@Override
  			public Locale getLocale()
  			{
  				return getSession().getLocale();
  			}
  		};
  		final DatePicker datePicker = new DatePicker()
  		{
  			/**
  			 * The serialVersionUID.
  			 */
  			private static final long serialVersionUID = 1L;
  
  			/**
  			 * {@inheritDoc}
  			 */
  			@Override
  			protected boolean enableMonthYearSelection()
  			{
  				return true;
  			}
  		};
  		datePicker.setShowOnFieldClick(true);
  		dateTextField.add(datePicker);
  		dateTextField.setOutputMarkupId(true);
  		return dateTextField;
  	}
docs: Factory method for create the new {@link DateTextField}. 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 DateTextField}.
  
  @param id
  the id
  @param model
  the model
  @return the new {@link DateTextField}