code: public <S extends Number> Metric<S> set(S value) {
          return new Metric<>(this.getName(), value);
      }
docs: Create a new {@link Metric} with a different value.
  
  @param <S> the metric value type
  @param value the value of the new metric
  @return a new {@link Metric} instance