def METHOD_NAME(self, method, message: str = ""):
    """Calls the method provided with the driver as an argument until the \
    return value does not evaluate to ``False``.
    :param method: callable(WebDriver)
    :param message: optional message for :exc:`TimeoutException`
    :returns: the result of the last call to `method`
    :raises: :exc:`selenium.common.exceptions.TimeoutException` if timeout occurs
    """
    screen = None
    stacktrace = None
    end_time = time.monotonic() + self._timeout
    while True:
        try:
            value = method(self._driver)
            if value:
                return value
        except self._ignored_exceptions as exc:
            screen = getattr(exc, "screen", None)
            stacktrace = getattr(exc, "stacktrace", None)
        time.sleep(self._poll)
        if time.monotonic() > end_time:
            break
    raise TimeoutException(message, screen, stacktrace)