}
}
// We're ready to decode the params
Map<String, String[]> decodedParams = new LinkedHashMap<String, String[]>(params.size());
URLCodec codec = new URLCodec();
for (Map.Entry<String, String[]> e : params.entrySet()) {
String key = e.getKey();
try {
key = codec.decode(e.getKey(), charset);
} catch (Throwable z) {
// Nothing we can do about, ignore
}
for (String value : e.getValue()) {
try {
Utils.Maps.mergeValueInMap(decodedParams, key, (value == null ? null : codec.decode(value, charset)));
} catch (Throwable z) {
// Nothing we can do about, lets fill in with the non decoded value
Utils.Maps.mergeValueInMap(decodedParams, key, value);
}
}