code: public final B sessionProtocol(SessionProtocol sessionProtocol) {
          requireNonNull(sessionProtocol, "sessionProtocol");
          if (request instanceof RpcRequest) {
              checkArgument(sessionProtocol == this.sessionProtocol,
                            "sessionProtocol: %s (expected: same as the session protocol specified in 'uri')",
                            sessionProtocol);
          } else {
              this.sessionProtocol = sessionProtocol;
          }
          return self();
      }
docs: Sets the {@link SessionProtocol} of the request.
  
  @throws IllegalArgumentException if the specified {@link SessionProtocol} is not compatible with
  the scheme of the {@link URI} you specified when creating this builder.
  For example, you cannot specify {@link SessionProtocol#H2C} if you
  created this builder with {@code h1c://example.com/}.