### Question:
URISupport { public static Map<String, String> parseParameters(URI uri) throws URISyntaxException { if (!isCompositeURI(uri)) { return uri.getQuery() == null ? emptyMap() : parseQuery(stripPrefix(uri.getQuery(), "?")); } else { CompositeData data = URISupport.parseComposite(uri); Map<String, String> parameters = new HashMap<String, String>(); parameters.putAll(data.getParameters()); if (parameters.isEmpty()) { parameters = emptyMap(); } return parameters; } }  static Map<String, String> parseQuery(String uri); static Map<String, String> parseParameters(URI uri); static URI applyParameters(URI uri, Map<String, String> queryParameters); static URI applyParameters(URI uri, Map<String, String> queryParameters, String optionPrefix); static URI removeQuery(URI uri); static URI createURIWithQuery(URI uri, String query); static CompositeData parseComposite(URI uri); static boolean isCompositeURI(URI uri); static int indexOfParenthesisMatch(String str, int first); static String stripPrefix(String value, String prefix); static URI stripScheme(URI uri); static String createQueryString(Map<String, ? extends Object> options); static URI createRemainingURI(URI originalURI, Map<String, String> params); static URI changeScheme(URI bindAddr, String scheme); static boolean checkParenthesis(String str);  }### Answer:
@Test public void testParsingParams() throws Exception { URI uri = new URI("static:(http: Map<String,String>parameters = URISupport.parseParameters(uri); verifyParams(parameters); uri = new URI("static: parameters = URISupport.parseParameters(uri); verifyParams(parameters); uri = new URI("http: parameters = URISupport.parseParameters(uri); }