@Override public void registerUser(final UserDetails userDetails) { final Password password = new Password(userDetails.getPassword()); final ApplicationRole initialRole = getInitialRole(); final Boolean enabled = true; final String username = userDetails.getUsername(); final String emailAddress = userDetails.getEmailAddress(); final ApplicationUser applicationUser = applicationUserRepository.newLocalUser( username, password, password, initialRole, enabled, emailAddress); final Set<ApplicationRole> additionalRoles = getAdditionalInitialRoles(); if (additionalRoles != null) { for (final ApplicationRole additionalRole : additionalRoles) { applicationUser.addRole(additionalRole); } } }