class Builder extends MetricWithFixedMetadata.Builder<Builder, Info> {

        private Builder(PrometheusProperties config) {
            super(Collections.emptyList(), config);
        }

        /**
         * The {@code _info} suffix will automatically be appended if it's missing.
         * <pre>{@code
         * Info info1 = Info.builder()
         *     .name("runtime_info")
         *     .build();
         * Info info2 = Info.builder()
         *     .name("runtime")
         *     .build();
         * }</pre>
         * In the example above both {@code info1} and {@code info2} will be named {@code "runtime_info"} in Prometheus.
         * <p>
         * Throws an {@link IllegalArgumentException} if
         * {@link io.prometheus.metrics.model.snapshots.PrometheusNaming#isValidMetricName(String) MetricMetadata.isValidMetricName(name)}
         * is {@code false}.
         */
        @Override
        public Builder name(String name) {
            return super.name(stripInfoSuffix(name));
        }

        /**
         * Throws an {@link UnsupportedOperationException} because Info metrics cannot have a unit.
         */
        @Override
        public Builder unit(Unit unit) {
            if (unit != null) {
                throw new UnsupportedOperationException("Info metrics cannot have a unit.");
            }
            return this;
        }

        private static String stripInfoSuffix(String name) {<FILL_FUNCTION_BODY>}

        @Override
        public Info build() {
            return new Info(this);
        }

        @Override
        protected Builder self() {
            return this;
        }
    }

            if (name != null && (name.endsWith("_info") || name.endsWith(".info"))) {
                name = name.substring(0, name.length() - 5);
            }
            return name;
        
<methods>public java.lang.String getPrometheusName() <variables>protected final non-sealed java.lang.String[] labelNames,private final non-sealed io.prometheus.metrics.model.snapshots.MetricMetadata metadata