this((scheme == null ? "" : scheme + ":") + (userInfo == null && host == null && port == -1 ? "" : " + (userInfo == null ? "" : quoteUserInfo(userInfo) + "@") + (host == null ? "" : quoteHost(host)) + (port == -1 ? "" : ":" + String.valueOf(port)) + (path == null ? "" : quotePath(path)) + (query == null ? "" : "?" + quote(query)) + (fragment == null ? "" : "#" + quote(fragment)));  parseServerAuthority();
this.string = str; parseURI(str);
  public URI(String scheme, String userInfo, String host, int port,             String path, String query, String fragment)    throws URISyntaxException  {    this((scheme == null ? "" : scheme + ":")         + (userInfo == null && host == null && port == -1 ? "" : "//")         + (userInfo == null ? "" : quoteUserInfo(userInfo) + "@")         + (host == null ? "" : quoteHost(host))         + (port == -1 ? "" : ":" + String.valueOf(port))         + (path == null ? "" : quotePath(path))         + (query == null ? "" : "?" + quote(query))         + (fragment == null ? "" : "#" + quote(fragment)));    parseServerAuthority();	}