<T> Gauge gauge(Meter.Id id, @Nullable T obj, ToDoubleFunction<T> valueFunction) {
        return registerMeterIfNecessary(Gauge.class, id, id2 -> newGauge(id2, obj, valueFunction), NoopGauge::new);
    }
< T > Gauge gauge ( Meter . Id id , @ Nullable T obj , ToDoubleFunction < T > valueFunction ) { return registerMeterIfNecessary ( Gauge . class , id , id2 -> newGauge ( id2 , obj , valueFunction ) , NoopGauge :: new ) ; }
Only used by {@link Gauge#builder(String, Object, ToDoubleFunction)}.

@param id            The identifier for this gauge.
@param obj           State object used to compute a value.
@param valueFunction Function that is applied on the value for the number.
@param <T>           The type of the state object from which the gauge value is extracted.
@return A new or existing long task timer.