throws AccountAlreadyExistsException, InvalidIdentifierException, UserAlreadyExistsException, NoSuchAccountException {
// ensure unique user name
_isUsernameTaken = false;
if(_accountControl.checkAccountExists(form.getUserId())) {
_isUsernameTaken = true;
return new Forward("failure");
}
Account userAccount = AccountForm.getAccount(form);
_accountControl.insertAccount(userAccount);
_sharedFlow.updateAccount(userAccount);
return new Forward("shop");
}