def _format(self, obj):
        stack = [self._format_gen(obj)]

        while stack:
            try:
                value = stack[-1].next()
            except __HOLE__:
                stack.pop()
                continue

            if not isinstance(value, basestring):
                stack.append(iter(value))
                continue

            yield value
dataset/ETHPy150Open abusesa/abusehelper/abusehelper/core/rules/rulelang.py/Formatter._format