mFirstUnread = -1;
mInitialFirstUnread = -1;
    void reopen(boolean select, Mailbox mbox, ImapSession session) throws ServiceException {        if (isVirtual())            throw ServiceException.INVALID_REQUEST("cannot reopen virtual folders", null);        OperationContext octxt = session.getContext();        Folder folder = mbox.getFolderByPath(octxt, mPath);        if (!isFolderSelectable(folder, session))            throw ServiceException.PERM_DENIED("cannot select folder: /" + mPath);        if (folder.getId() != mFolderId)            throw ServiceException.INVALID_REQUEST("folder IDs do not match (was " + mFolderId + ", is " + folder.getId() + ')', null);        mWritable = select && isFolderWritable(folder, session);        mUIDValidityValue = getUIDValidity(folder);        mInitialUIDNEXT = folder.getImapUIDNEXT();        mNotificationsSuspended = false;        mDirtyMessages.clear();        collapseExpunged();        mFirstUnread = -1;        for (ImapMessage i4msg : mSequence) {            if (mFirstUnread == -1 && (i4msg.flags & Flag.BITMASK_UNREAD) != 0)                mFirstUnread = i4msg.sequence;            i4msg.setAdded(false);        }        mLastSize = mSequence.size();        mSession = session;    }