code: public Date getNextRunWithDelay(Date date) {
      Date result = addSeconds(date, Math.min((int)(Math.pow(2., (double)countEmptyRuns) * START_DELAY), MAX_DELAY));
      return result;
    }
docs: The delay between two "empty" runs increases twice each time until it reaches {@link HistoryCleanupJobHandlerConfiguration#MAX_DELAY} value.
  @param date date to count delay from
  @return date with delay