code: def find_all(self, **names):
          
          values = names.items()
          if len(values) != 1:
              raise ValueError('Only one query is allowed at a time')
          name, value = values[0]
          for item in self:
              if item.get(name) == value:
                  yield item
docs: Find all items with matching extra values.
  
          :param \*\*names: Extra values to match.
          :rtype: ``Iterable[`EnumItem`]``