code: def next(self):
          
          while self.alive:
              doc = self.try_next()
              if doc is not None:
                  return doc
  
          raise StopIteration
docs: Advance the cursor.
  
          This method blocks until the next change document is returned or an
          unrecoverable error is raised. This method is used when iterating over
          all changes in the cursor. For example::
  
              try:
                  with db.collection.watch(
                          [{'$match': {'operationType': 'insert'}}]) as stream:
                      for insert_change in stream:
                          print(insert_change)
              except pymongo.errors.PyMongoError:
                  # The ChangeStream encountered an unrecoverable error or the
                  # resume attempt failed to recreate the cursor.
                  logging.error('...')
  
          Raises :exc:`StopIteration` if this ChangeStream is closed.