code: public static RateLimiterMetricsCollector ofSupplier(MetricNames names, Supplier<? extends Iterable<? extends RateLimiter>> supplier) {
          return new RateLimiterMetricsCollector(names, supplier);
      }
docs: Creates a new collector with custom metric names and
  using given {@code supplier} as source of rate limiters.
  
  @param names    the custom metric names
  @param supplier the supplier of rate limiters, note that supplier will be called one every {@link #collect()}