### Question:
URISupport { public static CompositeData parseComposite(URI uri) throws URISyntaxException { CompositeData rc = new CompositeData(); rc.scheme = uri.getScheme(); String ssp = stripPrefix(uri.getSchemeSpecificPart().trim(), " parseComposite(uri, rc, ssp); rc.fragment = uri.getFragment(); return rc; }  static Map<String, String> parseQuery(String uri); static Map<String, String> parseParamters(URI uri); static URI removeQuery(URI uri); static URI createURIWithQuery(URI uri, String query); static CompositeData parseComposite(URI uri); static String stripPrefix(String value, String prefix); static URI stripScheme(URI uri); static String createQueryString(Map options); static URI createRemainingURI(URI originalURI, Map params); static URI changeScheme(URI bindAddr, String scheme); static boolean checkParenthesis(String str); int indexOfParenthesisMatch(String str);  }### Answer:
@Test() public void testEmptyCompositePath() throws Exception { URISupport.CompositeData data = URISupport.parseComposite(new URI("broker:()/localhost?persistent=false")); assertEquals(0, data.getComponents().length); }
@Test() public void testCompositePath() throws Exception { URISupport.CompositeData data = URISupport.parseComposite(new URI("test:(path)/path")); assertEquals("path", data.getPath()); data = URISupport.parseComposite(new URI("test:path")); assertNull(data.getPath()); }
@Test() public void testSimpleComposite() throws Exception { URISupport.CompositeData data = URISupport.parseComposite(new URI("test:part1")); assertEquals(1, data.getComponents().length); }
@Test() public void testComposite() throws Exception { URISupport.CompositeData data = URISupport.parseComposite(new URI("test:(part1: assertEquals(2, data.getComponents().length); }
@Test() public void testParsingCompositeURI() throws URISyntaxException { URISupport.parseComposite(new URI("broker: }