ParsedIRI implements Cloneable, Serializable { public String toASCIIString() { StringBuilder sb = new StringBuilder(iri.length()); if (scheme != null) { sb.append(scheme).append(':'); } if (host != null) { sb.append(" if (userInfo != null) { appendAscii(sb, userInfo); sb.append('@'); } if (host.length() > 0) { sb.append(IDN.toASCII(host, IDN.ALLOW_UNASSIGNED)); } if (port >= 0) { sb.append(':').append(port); } } if (path != null) { appendAscii(sb, path); } if (query != null) { sb.append('?'); appendAscii(sb, query); } if (fragment != null) { sb.append('#'); appendAscii(sb, fragment); } return sb.toString(); } ParsedIRI(String iri);  ParsedIRI(String scheme, String userInfo, String host, int port, String path, String query,
			String fragment); static ParsedIRI create(String str); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); String toASCIIString(); boolean isAbsolute(); boolean isOpaque(); String getScheme(); String getUserInfo(); String getHost(); int getPort(); String getPath(); String getQuery(); String getFragment(); ParsedIRI normalize(); String resolve(String iri); ParsedIRI resolve(ParsedIRI relative); String relativize(String iri); ParsedIRI relativize(ParsedIRI absolute);  }
@Test public void testRedRose() throws URISyntaxException { assertEquals("http: new ParsedIRI("http: }