if (mNewPassword != null && mNewPassword.length() > 0) options.setNewPassword(mNewPassword);
    public void doTag() throws JspException, IOException {        JspContext jctxt = getJspContext();        try {            PageContext pageContext = (PageContext) jctxt;            if (mUsername.contains("@zimbra.com")) {                mUrl = "https://dogfood.zimbra.com/service/soap";            } else if (mUsername.contains("@roadshow.zimbra.com")) {                mUrl = "http://roadshow.zimbra.com/service/soap";            }            ZMailbox.Options options = new ZMailbox.Options();            options.setAccount(mUsername);            options.setPassword(mPassword);            options.setUri(mUrl == null ? ZJspSession.getSoapURL(pageContext): mUrl);            ZMailbox mbox = ZMailbox.getMailbox(options);            HttpServletResponse response = (HttpServletResponse) pageContext.getResponse();            Cookie authTokenCookie = new Cookie(ZJspSession.COOKIE_NAME, mbox.getAuthToken());            if (mRememberMe) {                ZGetInfoResult info = mbox.getAccountInfo(false);                long timeLeft = info.getExpiration() - System.currentTimeMillis();                if (timeLeft > 0) authTokenCookie.setMaxAge((int) (timeLeft/1000));            } else {                authTokenCookie.setMaxAge(-1);            }            authTokenCookie.setPath("/");            response.addCookie(authTokenCookie);            ZJspSession.setSession((PageContext)jctxt, mbox);        } catch (ServiceException e) {            throw new JspTagException(e.getMessage(), e);        }    }