code: @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1869")
    public final <T> S withOption(CallOptions.Key<T> key, T value) {
      return build(channel, callOptions.withOption(key, value));
    }
docs: Sets a custom option to be passed to client interceptors on the channel
  {@link io.grpc.ClientInterceptor} via the CallOptions parameter.
  
  @since 1.0.0
  @param key the option being set
  @param value the value for the key