code: def iterator(self, **kwargs):
          
          cls_name = '{0}Collection'.format(self._cls.__name__)
          collection_cls = type(str(cls_name), (ElementCollection,), {})
  
          params = {'filter_context': self._cls.typeof}
          params.update(kwargs)
          return collection_cls(**params)
docs: Return an iterator from the collection manager. The iterator can
          be re-used to chain together filters, each chaining event will be
          it's own unique element collection.
  
          :return: :class:`ElementCollection`