def METHOD_NAME(self, wait_time_seconds, timeout_seconds):
    start = time_monotonic()
    while time_monotonic() < (start + timeout_seconds):
        if all(status == STATUS_SUCCESS for status in list(self._status_collector.values())):
            LOG.info("Bootstrapped {} applications".format(len(list(self._status_collector.values()))))
            return True
        else:
            time.sleep(wait_time_seconds)
    message = "Timed out after waiting {}s  for applications to become ready.\n".format(timeout_seconds)
    message += "Applications which failed to become ready:\n"
    for name, namespace, status in list(self._status_collector.items()):
        message += "{} in namespace {} had final state {}\n".format(name, namespace, status)
    LOG.error(message)
    return False