code: public ClientRequestContext build() {
          final Endpoint endpoint;
          if (this.endpoint != null) {
              endpoint = this.endpoint;
          } else {
              endpoint = Endpoint.parse(authority());
          }
  
          final DefaultClientRequestContext ctx = new DefaultClientRequestContext(
                  eventLoop(), meterRegistry(), sessionProtocol(), endpoint,
                  method(), path(), query(), fragment, options, request());
  
          if (isRequestStartTimeSet()) {
              ctx.logBuilder().startRequest(fakeChannel(), sessionProtocol(), sslSession(),
                                            requestStartTimeNanos(), requestStartTimeMicros());
          } else {
              ctx.logBuilder().startRequest(fakeChannel(), sessionProtocol(), sslSession());
          }
  
          if (request() instanceof HttpRequest) {
              ctx.logBuilder().requestHeaders(((HttpRequest) request()).headers());
          } else {
              ctx.logBuilder().requestContent(request(), null);
          }
          return ctx;
      }
docs: Returns a new {@link ClientRequestContext} created with the properties of this builder.