docs: private <T> T readResponse(Type returnType, InputStream ips) throws Throwable {
  		JsonNode response = mapper.readTree(new NoCloseInputStream(ips));
  		logger.debug("JSON-PRC Response: {}", response);
  		if (!response.isObject()) {
  			throw new JsonRpcClientException(0, "Invalid JSON-RPC response", response);
  		}
  		ObjectNode jsonObject = ObjectNode.class.cast(response);
  		
  		if (jsonObject.has(ERROR) && jsonObject.get(ERROR) != null && !jsonObject.get(ERROR).isNull()) {
  			throw exceptionResolver.resolveException(jsonObject);
  		}
  		if (jsonObject.has(RESULT) && !jsonObject.get(RESULT).isNull() && jsonObject.get(RESULT) != null) {
  			
  			JsonParser returnJsonParser = mapper.treeAsTokens(jsonObject.get(RESULT));
  			JavaType returnJavaType = mapper.getTypeFactory().constructType(returnType);
  			
  			return mapper.readValue(returnJsonParser, returnJavaType);
  		}
  		return null;
  	}