if (email == null)
if (email == null && netid==null)
    private void processPersonalInfo(Context context,            HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException, SQLException,            AuthorizeException    {        // Get the token        String token = request.getParameter("token");        // Get the email address        String email = AccountManager.getEmail(context, token);        // If the token isn't valid, show an error        if (email == null)        {            log.info(LogManager.getHeader(context, "invalid_token", "token="                    + token));            // Invalid token            JSPManager                    .showJSP(request, response, "/register/invalid-token.jsp");            return;        }        // If the token is valid, we create an eperson record if need be        EPerson eperson = EPerson.findByEmail(context, email);        if (eperson == null)        {            // Need to create new eperson            // FIXME: TEMPORARILY need to turn off authentication, as usually            // only site admins can create e-people            context.setIgnoreAuthorization(true);            eperson = EPerson.create(context);            eperson.setEmail(email);            eperson.update();            context.setIgnoreAuthorization(false);        }        // Now set the current user of the context        // to the user associated with the token, so they can update their        // info        context.setCurrentUser(eperson);        // Set the user profile info        boolean infoOK = EditProfileServlet.updateUserProfile(eperson, request);        eperson.setCanLogIn(true);        eperson.setSelfRegistered(true);        // Give site auth a chance to set/override appropriate fields        Authenticate.getSiteAuth().initEPerson(context, request, eperson);        // If the user set a password, make sure it's OK        boolean passwordOK = true;        if ((eperson.getRequireCertificate() == false)                && Authenticate.getSiteAuth().allowSetPassword(context,                        request, eperson.getEmail()))        {            passwordOK = EditProfileServlet.confirmAndSetPassword(eperson,                    request);        }        if (infoOK && passwordOK)        {            // All registered OK.            log.info(LogManager.getHeader(context, "usedtoken_register",                    "email=" + eperson.getEmail()));            // delete the token            AccountManager.deleteToken(context, token);            // Update user record            eperson.update();            request.setAttribute("eperson", eperson);            JSPManager.showJSP(request, response, "/register/registered.jsp");            context.complete();        }        else        {            request.setAttribute("token", token);            request.setAttribute("eperson", eperson);            request.setAttribute("missing.fields", new Boolean(!infoOK));            request.setAttribute("password.problem", new Boolean(!passwordOK));            // Indicate if user can set password            boolean setPassword = Authenticate.getSiteAuth().allowSetPassword(                    context, request, email);            request.setAttribute("set.password", new Boolean(setPassword));            JSPManager.showJSP(request, response,                    "/register/registration-form.jsp");            // Changes to/creation of e-person in DB cancelled            context.abort();        }    }