# File lib/dnstraverse/decoded_query.rb, line 124
    def process
      return process_exception if @message.is_a? Exception
      @auth_ns, @auth_soa, @auth_other = msg_authority(@message)
      @cacheable_good, @cacheable_bad = msg_cacheable(@message, @bailiwick)
      @endname = msg_follow_cnames(@message, :qname => @qname, :qtype => @qtype,
                                   :bailiwick => @bailiwick)
      return process_restart unless inside_bailiwick?(@endname)
      return process_error if @message.rcode != NOERROR
      @answers = msg_answers?(@message, :qname => @endname, :qtype => qtype)
      return process_answered if @answers
      return process_nodata if @auth_soa.size > 0 or @auth_ns.size == 0
      return process_referral unless @auth_ns.empty?
      return process_restart
    end