class Jackson2Request extends AbstractConverterRequest<T> {

	@Override
	protected Response<T> parseNetworkResponse(NetworkResponse response) {
		String charset = HttpHeaderParser.parseCharset(response.headers);
		Reader reader = null;
		try {
			reader = new InputStreamReader(new ByteArrayInputStream(response.data), charset);
			T result = objectMapper.readValue(reader, getTargetClass());
			return Response.success(result,
					HttpHeaderParser.parseCacheHeaders(response));
		} catch (JsonParseException e) {
			return Response.error(new ParseError(e));
		} catch (JsonMappingException e) {
			return Response.error(new ParseError(e));
		} catch (UnsupportedEncodingException e) {
			return Response.error(new ParseError(e));
		} catch (IOException e) {
			return Response.error(new VolleyError(e));
		} catch (Exception e) {
			return Response.error(new VolleyError(e));
		} finally {
			IoUtils.closeQuietly(reader);
		}
	}

	public  Jackson2Request(int method, String url, Class<T> clazz, ObjectMapper objectMapper, Listener<T> listener,
			ErrorListener errorListener);
	public  Jackson2Request(String url, Class<T> clazz, ObjectMapper objectMapper, Listener<T> listener,
			ErrorListener errorListener);
	public  Jackson2Request(String url, Class<T> clazz, ObjectMapper objectMapper, Listener<T> listener);
	public  Jackson2Request(int method, String url, Class<T> clazz, Listener<T> listener,
			ErrorListener errorListener);
	public  Jackson2Request(String url, Class<T> clazz, Listener<T> listener, ErrorListener errorListener);
	public  Jackson2Request(String url, Class<T> clazz, Listener<T> listener);

}