final String aboutMe = newUser.getAboutMe();
final String openId = newUser.getOpenId();
throwExceptionIfUserExists(userName, email);
User user = new UserImpl();
//set the required fields
user.setUsername(userName);
user.setEmail(email);
String hashedPassword = passwordEncoder.encode(password);
user.setPassword(hashedPassword);
user.setExpired(false);
user.setLocked(false);
user.setEnabled(true);
user.setDefaultPageLayout(pageLayoutService.getPageLayoutByCode(defaultPageLayoutCode));
user.setAuthorities(authorityService.getDefaultAuthorities().getResultSet());
//set the optional fields
user.setGivenName(givenName);
user.setFamilyName(familyName);
user.setDisplayName(displayName);
user.setStatus(status);
user.setAboutMe(aboutMe);
user.setOpenId(openId);
userService.registerNewUser(user);
}