def __iter__(self):
idx = self._padding<EOL>while idx < len(self._data):<EOL><INDENT>tobject, hole = self._read_next(idx, len(self._data))<EOL>if tobject is None:<EOL><INDENT>return<EOL><DEDENT>if hole:<EOL><INDENT>idx += hole[<NUM_LIT:1>]  <EOL><DEDENT>idx += tobject.bytes_length + self._padding<EOL>yield tobject, hole<EOL><DEDENT>
An iterator that yields a tuple of (thrift object, hole), where
hole is a tuple of (start, skipped) bytes.