docs: def is_permitted_collective(self, identifiers,
                                  permission_s, logical_operator):
          """
          :param identifiers: a collection of Identifier objects
          :type identifiers:  subject_abcs.IdentifierCollection
  
          :param permission_s: a collection of 1..N permissions
          :type permission_s: List of Permission object(s) or String(s)
  
          :param logical_operator:  indicates whether all or at least one
                                    permission check is true (any)
          :type: any OR all (from python standard library)
  
          :returns: a Boolean
          """
          self.assert_realms_configured()
  
          # interim_results is a set of tuples:
          interim_results = self.is_permitted(identifiers, permission_s,
                                              log_results=False)
  
          results = logical_operator(is_permitted for perm, is_permitted
                                     in interim_results)
  
          if results:
              self.notify_event(identifiers,
                                permission_s,
                                'AUTHORIZATION.GRANTED',
                                logical_operator)
          else:
              self.notify_event(identifiers,
                                permission_s,
                                'AUTHORIZATION.DENIED',
                                logical_operator)
  
          return results