code: private void waitForRebalance() throws InterruptedException {
          log.info("Waiting for {} seconds before attempting to rebalance", minRebalanceInterval.getSeconds());
          Thread.sleep(minRebalanceInterval.toMillis());
      }
docs: Blocks until the rebalance interval. This wait serves multiple purposes:
  -- Ensure rebalance does not happen in quick succession since its a costly cluster level operation.
  -- Clubs multiple host events into one to reduce rebalance operations. For example:
  Fresh cluster start, cluster/multi-host/host restarts, etc.