question: public static Map < String , Set < String > > parse ( final URI uri , final String encoding ) { Map < String , Set < String > > result = Collections . emptyMap ( ) ; final String query = uri . getRawQuery ( ) ; if ( query != null && query . length ( ) > 0 ) { result = new HashMap < > ( ) ; parse ( result , new Scanner ( query ) , encoding , true ) ; } return result ; }
target:  Returns Map<String, Set<String>>  as built from the URI's query portion. For example, a URI of http://example.org/path/to/file?a=1&b=2&c=3&c=4 would return a Map three key is a name name of parameter Set<String> is a values, a={1}, one for b={2} and two for c={3,4}. <p/> <p/> This is typically useful while parsing an HTTP PUT.