code: @SuppressWarnings("rawtypes")
      public Gauge gauge(String name, final MetricSupplier<Gauge> supplier) {
          return getOrAdd(name, new MetricBuilder<Gauge>() {
              @Override
              public Gauge newMetric() {
                  return supplier.newMetric();
              }
  
              @Override
              public boolean isInstance(Metric metric) {
                  return Gauge.class.isInstance(metric);
              }
          });
      }
docs: Return the {@link Gauge} registered under this name; or create and register
  a new {@link Gauge} using the provided MetricSupplier if none is registered.
  
  @param name     the name of the metric
  @param supplier a MetricSupplier that can be used to manufacture a Gauge
  @return a new or pre-existing {@link Gauge}