URISupport.parseComposite(URI) incorrectly parses an URI with a closing parenthesis ")" in the query part.
I think URISupport should either throw an URISyntaxException or parse it correctly.
Unreserved characters can be escaped without changing the semantics
of the URI, but this should not be done unless the URI is being used
in a context that does not allow the unescaped character to appear.
By the way, the problem occurs in the method parseComposite(URI uri, CompositeData rc, String ssp), at: