def METHOD_NAME(self):
    """
    Detects a valid date for the next command launch.
    @return: next launch date
    @rtype: datetime
    """
    if self.attempts_failed + 1 <= self.attempts_total :
        b = ParabolicBalance(self.attempts_total)
        delay = 0
        for i in range(self.attempts_failed + 1):
            coef = b.balances[i] * 1.0
            delta = int(coef * self.get_total_valid_time())
            delay += delta
        return self._get_date(delay)