mTags.uncacheTag(id);
mTags.uncache(1L << Tag.getIndex(id));
    private boolean handleDeletes(Map<Integer, Object> deleted) {        boolean selected = mSelectedFolder != null;        for (Object obj : deleted.values()) {            int id = (obj instanceof MailItem ? ((MailItem) obj).getId() : ((Integer) obj).intValue());            if (Tag.validateId(id)) {                mTags.uncacheTag(id);                if (selected)                    mSelectedFolder.dirtyTag(id, true);            } else if (!selected || id <= 0) {                continue;            } else if (id == mSelectedFolder.getId()) {                // notify client that mailbox is deselected due to delete?                // RFC 2180 3.3: "The server MAY allow the DELETE/RENAME of a multi-accessed                //                mailbox, but disconnect all other clients who have the                //                mailbox accessed by sending a untagged BYE response."                mState = STATE_AUTHENTICATED;                mSelectedFolder = null;                selected = false;            } else {                ImapMessage i4msg = mSelectedFolder.getById(id);                if (i4msg != null) {                    markMessageExpunged(i4msg);                    ZimbraLog.imap.debug("  ** deleted (ntfn): " + i4msg.msgId);                }            }        }        return true;    }