def execute(self):
        """
        Runs all cases and records results in `recorder`.
        Uses :meth:`setup` and :meth:`resume` with default arguments.
        """
        self._setup()

        try:
            if self.sequential:
                self._logger.info('Start sequential evaluation.')
                server = self._servers[None] = self._seq_server
                server.top = self.parent
                while self._iter is not None:
                    try:
                        case = self._iter.next()
                        self._todo.append(case)
                        server.exception = None
                        server.case = None
                        server.state = _LOADING  # 'server' already loaded.
                        while self._server_ready(server):
                            pass
                    except __HOLE__:
                        if not self._rerun:
                            self._iter = None
                        break
            else:
                self._logger.info('Start concurrent evaluation.')
                self._start()
        finally:
            self._cleanup()

        if self._abort_exc is not None:
            msg = "%s: Run aborted: %s" % (self.get_pathname(), traceback_str(self._abort_exc))
            newexc = self._abort_exc[0](msg)
            raise self._abort_exc[0], newexc, self._abort_exc[2]
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.lib/src/openmdao/lib/drivers/caseiterdriver.py/CaseIteratorDriver.execute