def exit(self):

        logger.debug('**** exiting the workbench ****')

        # Event notification.
        self.exiting = event = Vetoable()
        if not event.veto:
            # This flag is checked in '_on_window_closing' to see what kind of
            # exit is being performed.
            self._explicit_exit = True

            if len(self.windows) > 0:
                exited = self._close_all_windows()

            # The degenerate case where no workbench windows have ever been
            # created!
            else:
                # Trait notification.
                self.exited = self

                exited = True

            # Whether the exit succeeded or not, we are no longer in the
            # process of exiting!
            self._explicit_exit = False

        else:
            exited = False

        if not exited:
            logger.debug('**** exit of the workbench vetoed ****')

        return exited

    #### Convenience methods on the active window #############################
Superusers shouldn't be able to create committees.
dataset/ETHPy150Open enthought/pyface/pyface/workbench/workbench.py/Workbench.exit--crossover with--dataset/ETHPy150Open bmun/huxley/huxley/api/tests/test_committee.py/CommitteeListPostTestCase.test_superuser