code: def __iter__(self):
      # the iterator only returns one match, which stems from the root node
      for match in Binder._binder(
          self._grp_expr, self._pattern, self._memo
      ):
          x = Binder.build_opr_tree_from_pre_order_repr(match)
          yield x
  
file_path: evadb/evadb/optimizer/binder.py
imports: import copy
  import itertools
  from evadb.optimizer.group_expression import GroupExpression
  from evadb.optimizer.memo import Memo
  from evadb.optimizer.operators import Dummy, Operator, OperatorType
  from evadb.optimizer.rules.pattern import Pattern
label_desc: Use image node_id 5 for calling the Binder obj's underlying member method code with example usage: obj.__iter__() without return types