def _loop_until(self, predicate):
        self._until_predicate = predicate
        try:
            # this runs self._next ONE time, but
            # self._next re-runs itself until
            # the predicate says to quit.
            self._loop.add_callback(self._next)
            self._loop.start()
        except __HOLE__:
            self.close("user interruption")
dataset/ETHPy150Open bokeh/bokeh/bokeh/client/_connection.py/ClientConnection._loop_until