docs: def has_role(self, identifiers, required_role_s):
          """
          Confirms whether a subject is a member of one or more roles.
  
          If the authorization info cannot be obtained from the accountstore,
          role check tuple yields False.
  
          :type identifiers:  subject_abcs.IdentifierCollection
  
          :param required_role_s: a collection of 1..N Role identifiers
          :type required_role_s: Set of String(s)
  
          :yields: tuple(role, Boolean)
          """
          identifier = identifiers.primary_identifier
  
          # assigned_role_s is a set
          assigned_role_s = self.get_authzd_roles(identifier)
  
          if not assigned_role_s:
              msg = 'has_role:  no roles obtained from account_store for [{0}]'.\
                  format(identifier)
              logger.warning(msg)
              for role in required_role_s:
                  yield (role, False)
          else:
              for role in required_role_s:
                  hasrole = ({role} <= assigned_role_s)
                  yield (role, hasrole)