code: def _collect_values(handlers, names, user, client, values):
      
  
      results = {}
  
      def visitor(claim_name, func):
          data = {'user': user, 'client': client}
          data.update(values.get(claim_name) or {})
          claim_value = func(data)
          # If the claim_value is None, it means that the claim is not authorized.
          if claim_value is not None:
              # New values overwrite previous results
              results[claim_name] = claim_value
  
      _visit_handlers(handlers, visitor, 'claim', names)
  
      return results
docs: Get the values from the handlers of the requested claims.