docs: public final String buildAuthority() {
      // scheme, [user info], host, [port]
      StringBuilder buf = new StringBuilder();
      buf.append(Preconditions.checkNotNull(scheme));
      buf.append("://");
      if (userInfo != null) {
        buf.append(CharEscapers.escapeUriUserInfo(userInfo)).append('@');
      }
      buf.append(Preconditions.checkNotNull(host));
      int port = this.port;
      if (port != -1) {
        buf.append(':').append(port);
      }
      return buf.toString();
    }