class Builder {

        private final PrometheusProperties config;
        private String version;
        private String vendor;
        private String runtime;

        private Builder(PrometheusProperties config) {
            this.config = config;
        }

        /**
         * Package private. For testing only.
         */
        Builder version(String version) {
            this.version = version;
            return this;
        }

        /**
         * Package private. For testing only.
         */
        Builder vendor(String vendor) {
            this.vendor = vendor;
            return this;
        }

        /**
         * Package private. For testing only.
         */
        Builder runtime(String runtime) {
            this.runtime = runtime;
            return this;
        }

        public void register() {
            register(PrometheusRegistry.defaultRegistry);
        }

        public void register(PrometheusRegistry registry) {<FILL_FUNCTION_BODY>}
    }

            String version = this.version != null ? this.version : System.getProperty("java.runtime.version", "unknown");
            String vendor = this.vendor != null ? this.vendor : System.getProperty("java.vm.vendor", "unknown");
            String runtime = this.runtime != null ? this.runtime : System.getProperty("java.runtime.name", "unknown");
            new JvmRuntimeInfoMetric(version, vendor, runtime, config).register(registry);
        
<no_super_class>