code: protected B method(HttpMethod method) {
          requireNonNull(method, "method");
          if (request instanceof HttpRequest) {
              checkArgument(method == ((HttpRequest) request).method(),
                            "method: %s (expected: same as request.method)", method);
          } else {
              this.method = method;
          }
          return self();
      }
docs: Sets the {@link HttpMethod} of the request.
  
  @throws IllegalArgumentException if the specified {@link HttpMethod} is not same with the
  {@link HttpMethod} of the {@link HttpRequest} you specified when
  creating this builder. This exception is not thrown if you
  created a builder with an {@link RpcRequest}.