handleExcludeFreeBusy(octxt, mbox, iid, action);
    private String handleFolder(Map context, Element request, String operation, Element actionResponse)    throws ServiceException, SoapFaultException {        Element action = request.getElement(MailService.E_ACTION);        ZimbraContext lc = getZimbraContext(context);        ItemId iid = new ItemId(action.getAttribute(MailService.A_ID), lc);        if (!iid.belongsTo(getRequestedAccount(lc)))            return extractSuccesses(proxyRequest(request, context, iid.getAccountId()));        Mailbox mbox = getRequestedMailbox(lc);        OperationContext octxt = lc.getOperationContext();        if (operation.equals(OP_EMPTY))            mbox.emptyFolder(octxt, iid.getId(), true);        else if (operation.equals(OP_REFRESH))            mbox.synchronizeFolder(octxt, iid.getId());        else if (operation.equals(OP_IMPORT)) {            String url = action.getAttribute(MailService.A_URL);            mbox.importFeed(octxt, iid.getId(), url, false);        } else if (operation.equals(OP_SET_URL)) {            String url = action.getAttribute(MailService.A_URL, "");            mbox.setFolderUrl(octxt, iid.getId(), url);            if (!url.equals(""))                mbox.synchronizeFolder(octxt, iid.getId());        } else if (operation.equals(OP_RENAME)) {            String name = action.getAttribute(MailService.A_NAME);            mbox.renameFolder(octxt, iid.getId(), name);        } else if (operation.equals(OP_REVOKE)) {            String zid = action.getAttribute(MailService.A_ZIMBRA_ID);            mbox.revokeAccess(octxt, iid.getId(), zid);        } else if (operation.equals(OP_GRANT)) {            Element grant = action.getElement(MailService.E_GRANT);            boolean inherit = grant.getAttributeBool(MailService.A_INHERIT, false);            short rights = ACL.stringToRights(grant.getAttribute(MailService.A_RIGHTS));            byte gtype   = stringToType(grant.getAttribute(MailService.A_GRANT_TYPE));            String zid   = lookupZimbraId(grant.getAttribute(MailService.A_DISPLAY, null), gtype, lc);                        mbox.grantAccess(octxt, iid.getId(), zid, gtype, rights, inherit);            // kinda hacky -- return the zimbra id of the grantee in the response            actionResponse.addAttribute(MailService.A_ZIMBRA_ID, zid);        } else            throw ServiceException.INVALID_REQUEST("unknown operation: " + operation, null);        return iid.toString(lc);    }