@Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
	    throws ServletException, IOException {

	Map<String, String[]> requestParameters = req.getParameterMap();

	Query query = null;

	StringBuilder params = new StringBuilder();
	for (String name : requestParameters.keySet()) {

	    for (String value : requestParameters.get(name)) {

		if (params.length() == 0) {
		    params.append("?");
		} else {
		    params.append("&");
		}

		if ("query".equals(name))
		    query = new Query(value);

		name = URLEncoder.encode(name, "UTF-8");
		value = URLEncoder.encode(value, "UTF-8");

		params.append(String.format("&%s=%s", name, value));
	    }
	}

	String uri = String.format("%s%s", url.toString(), params.toString());
	GetMethod proxyMethod = new GetMethod(uri);

	if (query != null) {
	    LOGGER.debug(query.getQuery());
	    query.setStartTime(System.currentTimeMillis());
	}
	proxy.executeMethod(proxyMethod);

	if (query != null) {
	    query.setEndTime(System.currentTimeMillis());
	    Queries.getInstance().addQuery(query);
	    LOGGER.debug("duration:"
		    + (query.getEndTime() - query.getStartTime()) + " == "
		    + query.getRunTime());
	}

	write(proxyMethod.getResponseBodyAsStream(), resp.getOutputStream());

	proxyMethod.releaseConnection();

    }