docs: private void initRepairingHandlerAsync(final RepairingHandler handler) {
          scheduler.schedule(new Runnable() {
              private final AtomicInteger round = new AtomicInteger();
  
              @Override
              public void run() {
                  int roundNumber = round.incrementAndGet();
                  boolean initialized = false;
                  try {
                      initRepairingHandler(handler);
                      initialized = true;
                  } catch (Exception e) {
                      if (logger.isFinestEnabled()) {
                          logger.finest(e);
                      }
                  } finally {
                      if (!initialized) {
                          long totalDelaySoFarNanos = totalDelaySoFarNanos(roundNumber);
                          if (reconciliationIntervalNanos > totalDelaySoFarNanos) {
                              long delay = roundNumber * RESCHEDULE_FAILED_INITIALIZATION_AFTER_MILLIS;
                              scheduler.schedule(this, delay, MILLISECONDS);
                          }
                          // else don't reschedule this task again and fallback to anti-entropy (see #runAntiEntropy)
                          // if we haven't managed to initialize repairing handler so far.
                      }
                  }
              }
          }, RESCHEDULE_FAILED_INITIALIZATION_AFTER_MILLIS, MILLISECONDS);
      }