'Given an endpoint object created from the information in an
OpenID response, perform discovery and verify the discovery
results, returning the matching endpoint that is the result of
doing that discovery.
@type to_match: openid.consumer.discover.OpenIDServiceEndpoint
@param to_match: The endpoint whose information we\'re confirming
@rtype: openid.consumer.discover.OpenIDServiceEndpoint
@returns: The result of performing discovery on the claimed
identifier in `to_match\'
@raises DiscoveryFailure: when discovery fails.'

def _discoverAndVerify(self, claimed_id, to_match_endpoints):

    oidutil.log(('Performing    discovery    on    %s' % (claimed_id,)))
    (_, services) = self._discover(claimed_id)
    if (not services):
        raise DiscoveryFailure(('No    OpenID    information    found    at    %s' % (claimed_id,)), None)
    return self._verifyDiscoveredServices(claimed_id, services, to_match_endpoints)
