docs: def _get_subset_matches(self, query):
          """
          Yield publications, at indexes defined by `query` property values.
  
          Args:
              query (obj): Object implementing proper interface.
  
          Yields:
              list: List of matching publications.
          """
          for field_name, db_index in self._get_db_fields(query):
              attr = getattr(query, field_name)
  
              if attr is None:  # don't use unset attributes
                  continue
  
              results = db_index.get(attr, OOTreeSet())
  
              if results:
                  yield results