docs: private static Config expand(Config config, int previousTokensCount) {
      Config.Builder cb = Config.newBuilder().putAll(config);
      int tokensCount = 0;
      for (String key : config.getKeySet()) {
        Object value = config.get(key);
        if (value instanceof String) {
          String expandedValue = TokenSub.substitute(config, (String) value);
          if (expandedValue.contains("${")) {
            tokensCount++;
          }
          cb.put(key, expandedValue);
        } else {
          cb.put(key, value);
        }
      }
      if (previousTokensCount != tokensCount) {
        return expand(cb.build(), tokensCount);
      } else {
        return cb.build();
      }
    }