def match!(message)
      params = {}
      args = []
      @conditions.each do |condition|
        if result = condition.match(message)
          params.merge!(result[0])
          args += result[1]
        else
          return nil
        end
      end
      { :block => @block, :klass => @klass, :params => params, :args => args }
    end
def match!(message)
      params = {}
      args = []
      @conditions.each do |condition|
        if result = condition.match(message)
          params.merge!(result[0])
          args += result[1]
        else
          return nil
        end
      end
      { :block => @block, :klass => @klass, :params => params, :args => args }
    end
Checks whether a message matches the route.
 @param [Mail::Message] message the message to match against
 @return [Hash] the +:block+ and +:klass+ associated with the route, the
   +:params+ hash, and the block +:args+ array.