@Override
protected void onInitialize() {
super.onInitialize();
add(new Label("usernameLabel", new ResourceModel("user.username")));
add(new RequiredTextField<String>("username").add(new AutofocusBehavior()).add(new RequiredBehavior()));
add(createPasswordGroup());
add(new Label("passwordHintLabel", getString("user.passwordHint")));
add(new RequiredTextField("passwordHint").add(new RequiredBehavior()));
add(new Label("firstNameLabel", getString("user.firstName")));
add(new RequiredTextField("firstName").add(new RequiredBehavior()));
add(new Label("lastNameLabel", getString("user.lastName")));
add(new RequiredTextField("lastName").add(new RequiredBehavior()));
add(new Label("emailLabel", getString("user.email")));
add(new RequiredTextField("email").add(new RequiredBehavior()));
add(new Label("phoneNumberLabel", getString("user.phoneNumber")));
add(new TextField("phoneNumber"));
add(new Label("websiteLabel", getString("user.website")));
add(new RequiredTextField("website").add(new RequiredBehavior()));
add(createCollapsibleAddress());
PropertyModel<Set<Role>> rolesModel = new PropertyModel<Set<Role>>(getDefaultModel(), "roles");