def _populate_cache(self):
        if self._result_cache is None:
            self._result_cache = []
        if self._has_more:
            try:
                for i in xrange(ITER_CHUNK_SIZE):
                    self._result_cache.append(self.next())
            except StopIteration:
                self._has_more = False
Subclasses should implement this method for anything more complex than equality.
dataset/ETHPy150Open MongoEngine/mongoengine/mongoengine/queryset/queryset.py/QuerySet._populate_cache--crossover with--dataset/ETHPy150Open sympy/sympy/sympy/geometry/entity.py/GeometryEntity.__contains__