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