# File lib/dnstraverse/decoded_query.rb, line 36
    def initialize(args)
      @message = args[:message] || nil # skip query - use this message/exception
      @qname = args[:qname] # the query name
      @qclass = args[:qclass] # the query class
      @qtype = args[:qtype] # the query type
      @ip = args[:ip] # the nameserver to query (was queried if :message passed)
      @resolver = args[:resolver] # Dnsruby::Resolver / CachingResolver object
      @bailiwick = args[:bailiwick] # the bailiwick in force
      @cacheable_good = Hash.new # in-bailiwick records
      @cacheable_bad = Hash.new # out-of-bailiwick records
      @auth_ns = nil # NS RR records in authority section
      @auth_soa = nil # SOA RR records in authority section
      @auth_other = nil # Other RR records in authority section
      @answers = nil # Answers, if :answered
      @warnings = nil # Warnings if there are any (array)
      query unless @message
      process
      return self
    end