    # File lib/vmail/imap_client.rb, line 353
        def update
          prime_connection
          old_num_messages = @num_messages
          # we need to re-select the mailbox to get the new highest id
          reload_mailbox
          update_query = @query.dup
          # set a new range filter
          # this may generate a negative rane, e.g., "19893:19992" but that seems harmless
          update_query[0] = "#{old_num_messages}:#{@num_messages}"
          ids = reconnect_if_necessary {
            log "search #update_query"
            @imap.search(Vmail::Query.args2string(update_query))
          }
          log "- got seqnos: #{ids.inspect}"
          log "- getting seqnos > #{self.max_seqno}"
          new_ids = ids.select {|seqno| seqno > self.max_seqno}
          @ids = @ids + new_ids
          log "- update: new uids: #{new_ids.inspect}"
          if !new_ids.empty?
            self.max_seqno = new_ids[-1]
            res = fetch_row_text(new_ids, false, true)
            res
          else
            ''
          end
        end