def METHOD_NAME(self, run_until_complete, runtime, time_threshold):
    """
    :param bool run_until_complete:
    :param int runtime:
    :param float time_threshold:
    """
    if not run_until_complete:
        factor = (FecDataView.get_time_scale_factor() /
                  MICRO_TO_MILLISECOND_CONVERSION)
        scaled_runtime = runtime * factor
        time_to_wait = scaled_runtime + SAFETY_FINISH_TIME
        logger.info(
            "Application started; waiting {}s for it to stop",
            time_to_wait)
        time.sleep(time_to_wait)
        self._wait_for_end(timeout=time_threshold)
    else:
        logger.info("Application started; waiting until finished")
        self._wait_for_end()