code: @ExperimentalApi("https://github.com/grpc/grpc-java/issues/1767")
    public CallOptions withAuthority(@Nullable String authority) {
      CallOptions newOptions = new CallOptions(this);
      newOptions.authority = authority;
      return newOptions;
    }
docs: Override the HTTP/2 authority the channel claims to be connecting to. <em>This is not
  generally safe.</em> Overriding allows advanced users to re-use a single Channel for multiple
  services, even if those services are hosted on different domain names. That assumes the
  server is virtually hosting multiple domains and is guaranteed to continue doing so. It is
  rare for a service provider to make such a guarantee. <em>At this time, there is no security
  verification of the overridden value, such as making sure the authority matches the server's
  TLS certificate.</em>