'Create and return a new L{root.Resolver} modified to resolve queries
against the record data represented by C{servers}.
@param serverResponses: A mapping from dns server addresses to
mappings.  The inner mappings are from query two-tuples (name,
type) to dictionaries suitable for use as **arguments to
L{_respond}.  See that method for details.'

def _getResolver(self, serverResponses, maximumQueries=10):

    roots = ['1.1.2.3']
    resolver = Resolver(roots, maximumQueries)
    def query(query, serverAddresses, timeout, filter):
        msg(('Query    for    QNAME    %s    at    %r' % (query.name, serverAddresses)))
        for addr in serverAddresses:
            try:
                server = serverResponses[addr]
            except KeyError:
                continue
            records = server[(query.name.name, query.type)]
            return succeed(self._respond(**records))
    resolver._query = query
    return resolver
