def __next__(self):
if len(self.cache) <= <NUM_LIT:0>:<EOL><INDENT>self._build_cache()<EOL><DEDENT>if self.done:<EOL><INDENT>raise StopIteration<EOL><DEDENT>else:<EOL><INDENT>obj = self.cache.pop(<NUM_LIT:0>)<EOL><DEDENT>self.itemcount += <NUM_LIT:1><EOL>return obj<EOL>
Return next object or raise StopIteration