public function setStatus($entry, $value)
    {
        switch ($entry) {
        case Horde_Imap_Client::STATUS_FIRSTUNSEEN:
        case Horde_Imap_Client::STATUS_HIGHESTMODSEQ:
        case Horde_Imap_Client::STATUS_MESSAGES:
        case Horde_Imap_Client::STATUS_UNSEEN:
        case Horde_Imap_Client::STATUS_UIDNEXT:
        case Horde_Imap_Client::STATUS_UIDVALIDITY:
            $value = intval($value);
            break;

        case Horde_Imap_Client::STATUS_RECENT:
            /* Keep track of RECENT_TOTAL information. */
            $this->_status[Horde_Imap_Client::STATUS_RECENT_TOTAL] = isset($this->_status[Horde_Imap_Client::STATUS_RECENT_TOTAL])
                ? ($this->_status[Horde_Imap_Client::STATUS_RECENT_TOTAL] + $value)
                : intval($value);
            break;

        case Horde_Imap_Client::STATUS_SYNCMODSEQ:
            /* This is only set once per access. */
            if (isset($this->_status[$entry])) {
                return;
            }
            $value = intval($value);
            break;

        case Horde_Imap_Client::STATUS_SYNCFLAGUIDS:
        case Horde_Imap_Client::STATUS_SYNCVANISHED:
            if (!isset($this->_status[$entry])) {
                $this->_status[$entry] = array();
            }
            $this->_status[$entry] = array_merge($this->_status[$entry], $value);
            return;
        }

        $this->_status[$entry] = $value;
    }