private <T> T parse(HttpURLConnection uc, Class<T> type, T instance) throws IOException { InputStreamReader r = null; try { r = new InputStreamReader(wrapStream(uc, uc.getInputStream()), "UTF-8"); String data = IOUtils.toString(r); if (type!=null) return MAPPER.readValue(data,type); if (instance!=null) return MAPPER.readerForUpdating(instance).<T>readValue(data); return null; } finally { IOUtils.closeQuietly(r); } }