# File lib/dnstraverse/referral.rb, line 163
    def resolve(*args)
      raise "This Referral object has already been resolved" if resolved?
      if noglue? then
        # foo.net IN NS ns.foo.net - no IP cached & no glue = failure
        Log.debug { "Attempt to resolve #{@server} with a bailiwick referral " +
                    " of #{bailiwick} - no glue record provided" }
        return Array.new
      end
      refid = "#{@refid}.0"
      child_refid = 1
      starters, newbailiwick = @infocache.get_startservers(@server)
      Log.debug { "Resolving #{@server} type #{@nsatype} " }
      for starter in starters do
        r = make_referral(:server => starter[:name],
                          :serverips => starter[:ips],
                          :referral_resolution => true,
                          :qname => @server, :qclass => 'IN',
        :qtype => @nsatype, :bailiwick => newbailiwick,
        :refid => "#{refid}.#{child_refid}")
         (@resolves||= []) << r
        child_refid+= 1
      end
      # return a set of Referral objects that need to be processed
      return @resolves
    end