def next(self): while 1: if self._i is None: item = self._c.next() if item is None: self.close() raise StopIteration() domain, data = item self._i = MappingIterator(pickle.loads(data)) try: return self._i.next() except StopIteration: self._i = None continue