code: def match(self, a, b):
          
          if not isinstance(a, UniqueIdentity):
              raise ValueError("<a> is not an instance of UniqueIdentity")
          if not isinstance(b, UniqueIdentity):
              raise ValueError("<b> is not an instance of UniqueIdentity")
  
          if a.uuid and b.uuid and a.uuid == b.uuid:
              return True
  
          filtered_a = self.filter(a)
          filtered_b = self.filter(b)
  
          for fa in filtered_a:
              for fb in filtered_b:
                  if self.match_filtered_identities(fa, fb):
                      return True
          return False
docs: Determine if two unique identities are the same.
  
          This method compares the email addresses or the names of each
          identity to check if the given unique identities are the same.
          When the given unique identities are the same object or share
          the same UUID, this will also produce a positive match.
  
          Identities which their email addresses or names are in the blacklist
          will be ignored during the matching.
  
          :param a: unique identity to match
          :param b: unique identity to match
  
          :returns: True when both unique identities are likely to be the same.
              Otherwise, returns False.
  
          :raises ValueError: when any of the given unique identities is not
              an instance of UniqueIdentity class