public static Map<String, Object> parseQuery(String uri) throws URISyntaxException {
        return parseQuery(uri, false);
    }
@Test
    public void testParseQueryCurly() throws Exception {
        Map<String, Object> map = URISupport.parseQuery("password=RAW{++?w0rd}&serviceName=somechat");
        assertEquals(2, map.size());
        assertEquals("RAW{++?w0rd}", map.get("password"));
        assertEquals("somechat", map.get("serviceName"));

        map = URISupport.parseQuery("password=RAW{++?)w&rd}&serviceName=somechat");
        assertEquals(2, map.size());
        assertEquals("RAW{++?)w&rd}", map.get("password"));
        assertEquals("somechat", map.get("serviceName"));

        map = URISupport.parseQuery("password=RAW{%2520w&rd}&serviceName=somechat");
        assertEquals(2, map.size());
        assertEquals("RAW{%2520w&rd}", map.get("password"));
        assertEquals("somechat", map.get("serviceName"));
    }