private void parseQuery(String query, Map<String, Object> parameters) throws UnsupportedEncodingException
	{
		if (query != null)
		{
			String pairs[] = query.split("[&]");

			for (String pair : pairs)
			{
				String param[] = pair.split("[=]");

				String key = null;
				String value = null;
				if (param.length > 0)
				{
					key = URLDecoder.decode(param[0], UTF_8);
				}

				if (param.length > 1)
				{
					value = URLDecoder.decode(param[1], UTF_8);
				}

				if (parameters.containsKey(key))
				{
					Object obj = parameters.get(key);
					if(obj instanceof List<?>)
					{
						List<String> values = (List<String>)obj;
						values.add(value);
					}
					else if(obj instanceof String)
					{
						List<String> values = new ArrayList<String>();
						values.add((String)obj);
						values.add(value);
						parameters.put(key, values);
					}
				}
				else
				{
					parameters.put(key, value);
				}
			}
		}
	}