code: def find(self, *_clauses, **kwargs):
          if not self.exists:
              return iter([])
          _limit = kwargs.pop('_limit', None)
          _offset = kwargs.pop('_offset', 0)
          order_by = kwargs.pop('order_by', None)
          _streamed = kwargs.pop('_streamed', False)
          _step = kwargs.pop('_step', QUERY_STEP)
          if _step is False or _step == 0:
              _step = None
          order_by = self._args_to_order_by(order_by)
          args = self._args_to_clause(kwargs, clauses=_clauses)
          query = self.table.select(whereclause=args,
                                    limit=_limit,
                                    offset=_offset)
          if len(order_by):
              query = query.order_by(*order_by)
          conn = self.db.executable
          if _streamed:
              conn = self.db.engine.connect()
              conn = conn.execution_options(stream_results=True)
          return ResultIter(conn.execute(query),
                            row_type=self.db.row_type,
                            step=_step)