public void putRefresh(Element ctxt, ZimbraSoapContext zc) throws ServiceException {
public void putRefresh(Element ctxt, ZimbraSoapContext zsc) throws ServiceException {
    public void putRefresh(Element ctxt, ZimbraSoapContext zc) throws ServiceException {        synchronized (this) {            if (!mNotify)                return;            mSentChanges.clear();        }        Element eRefresh = ctxt.addUniqueElement(ZimbraNamespace.E_REFRESH);        Mailbox mbox = Mailbox.getMailboxByAccountId(mAccountId);        Mailbox.OperationContext octxt = zc.getOperationContext();        // Lock the mailbox but not the "this" object, to avoid deadlock        // with another thread that calls a Session method from within a        // synchronized Mailbox method.        synchronized (mbox) {            // dump current mailbox status (currently just size)            ToXML.encodeMailbox(eRefresh, mbox);            // dump all tags under a single <tags> parent            List tags = mbox.getTagList(octxt);            if (tags != null && tags.size() > 0) {                Element eTags = eRefresh.addUniqueElement(ZimbraNamespace.E_TAGS);                for (Iterator it = tags.iterator(); it.hasNext(); ) {                    Tag tag = (Tag) it.next();                    if (tag != null && !(tag instanceof Flag))                        ToXML.encodeTag(eTags, zc, tag);                }            }            // dump recursive folder hierarchy starting at USER_ROOT (i.e. folders visible to the user)            try {//          	Folder root = mbox.getFolderById(octxt, Mailbox.ID_FOLDER_USER_ROOT);//              GetFolder.handleFolder(mbox, root, eRefresh, zc, octxt);            	            	// use the operation here just so we can re-use the logic...            	GetFolderTreeOperation op = new GetFolderTreeOperation(this, octxt, mbox, Requester.SOAP, null);            	op.runImmediately();            	GetFolder.encodeFolderNode(zc, eRefresh, op.getResult());                            } catch (ServiceException e) {                if (e.getCode() != ServiceException.PERM_DENIED)                    throw e;            }        }    }