code: private User createAccount(StaplerRequest req, StaplerResponse rsp, boolean validateCaptcha, String formView) throws ServletException, IOException {
          SignupInfo si = validateAccountCreationForm(req, validateCaptcha);
  
          if (!si.errors.isEmpty()) {
              // failed. ask the user to try again.
              req.getView(this, formView).forward(req, rsp);
              return null;
          }
  
          return createAccount(si);
      }
docs: @param req the request to get the form data from (is also used for redirection)
  @param rsp the response to use for forwarding if the creation fails
  @param validateCaptcha whether to attempt to validate a captcha in the request
  @param formView the view to redirect to if creation fails
  
  @return
  null if failed. The browser is already redirected to retry by the time this method returns.
  a valid {@link User} object if the user creation was successful.