public ClientBuilderParams build() {
        final ClientOptions options = requireNonNull(this.options, "options");
        final Class<?> type = requireNonNull(this.type, "type");

        final SerializationFormat serializationFormat = this.serializationFormat;
        final String absolutePathRef = this.absolutePathRef;
        final ClientFactory factory = options.factory();
        final Scheme scheme = factory.validateScheme(Scheme.of(serializationFormat, sessionProtocol));
        final String schemeStr = scheme.shortUriText();

        final String path = nullOrEmptyToSlash(absolutePathRef);

        final URI uri;
        try {
            uri = new URI(schemeStr + "://" + this.uri.getRawAuthority() + path);
        } catch (URISyntaxException e) {
            throw new IllegalArgumentException(e);
        }
        return new DefaultClientBuilderParams(scheme, endpointGroup, path,
                                              factory.validateUri(uri), type, options);
    }
Builds a new {@link ClientBuilderParams} based on the configured properties.
core/src/main/java/com/linecorp/armeria/client/ClientBuilderParamsBuilder.java