public JsonObject get(String url) throws TwitterCounterException {
		JsonObject jsonObject = null;
		String builtUrl = buildUrl(url);
		HttpGet request = new HttpGet(builtUrl);
		HttpResponse response = null;
		try {
			response = httpClient.execute(request);
			BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
			StringBuffer result = new StringBuffer();
			String line = "";
			while ((line = br.readLine()) != null) {
				result.append(line);
			}
			String resultStr = result.toString();
			if (config.isDebugEnabled()) {
				System.out.println("API Response: " + resultStr);
			}
			jsonObject = gson.fromJson(resultStr, JsonObject.class);
			if (jsonObject.has("error")) {
				int statusCode = response.getStatusLine().getStatusCode();
				throw new TwitterCounterException(statusCode, jsonObject.get("error").getAsString());
			}
		} catch (ClientProtocolException e) {
			if (response != null) {
				int statusCode = response.getStatusLine().getStatusCode();
				throw new TwitterCounterException(statusCode, e);
			}
			else {
				throw new TwitterCounterException(e);
			}
		} catch (IOException e) {
			if (response != null) {
				int statusCode = response.getStatusLine().getStatusCode();
				throw new TwitterCounterException(statusCode, e);
			}
			else {
				throw new TwitterCounterException(e);
			}
		}
		return jsonObject;
	}