static MultiMap decodeHQueryToMultiMap(S query) { new MultiMap map; for (S s : splitAtAmpersand(query)) { int i = s.indexOf('='); if (i >= 0) map.put(urldecode(s.substring(0, i)), urldecode(s.substring(i+1))); } ret map; }