code: def match(self, descriptor):
          
          return self._match_field(self._group, descriptor.get_group()) \
              and self._match_field(self._type, descriptor.get_type()) \
              and self._match_field(self._kind, descriptor.get_kind()) \
              and self._match_field(self._name, descriptor.get_name()) \
              and self._match_field(self._version, descriptor.get_version())
docs: Partially matches this descriptor to another descriptor.
          Fields that contain "*" or null are excluded from the match.
  
          :param descriptor: the descriptor to match this one against.
  
          :return: true if descriptors match and false otherwise