private Builder newRequestBuilder(Request request, Options options) throws URISyntaxException {
    URI uri = new URI(request.url());

    final BodyPublisher body;
    final byte[] data = request.body();
    if (data == null) {
      body = BodyPublishers.noBody();
    } else {
      body = BodyPublishers.ofByteArray(data);
    }

    final Builder requestBuilder =
        HttpRequest.newBuilder()
            .uri(uri)
            .timeout(Duration.ofMillis(options.readTimeoutMillis()))
            .version(client.version());

    final Map<String, Collection<String>> headers = filterRestrictedHeaders(request.headers());
    if (!headers.isEmpty()) {
      requestBuilder.headers(asString(headers));
    }

    return requestBuilder.method(request.httpMethod().toString(), body);
  }
Creates integer key that represents {@link Options} settings based on {@link
Http2Client#doesClientConfigurationDiffer(Options)} method

@param options value
@return integer key
java11/src/main/java/feign/http2client/Http2Client.java