@Override
 public Map<String, Object> getMetric(String metricName) throws IOException {
   return getMapResponse(
       "/metrics/mbean/" + URLEncoder.encode(metricName, HttpConnector.UTF_8.name()),
       null,
       Entity.MAP_STRING_OBJECT);
 }
 @Override
 public List<Resource> getNodeResources(
     Expression<Node> query, String node, String... resourceQualifiers) throws IOException {
   StringBuilder bld = new StringBuilder("/nodes/");
   bld.append(URLEncoder.encode(node, HttpConnector.UTF_8.name()));
   return getListResponse(
       buildPath(bld, "/resources", resourceQualifiers), queryAsMap(query), Resource.LIST);
 }
 @Override
 public Node getNodeStatus(String node) throws IOException {
   return getSingletonResponse(
       "/nodes/" + URLEncoder.encode(node, HttpConnector.UTF_8.name()), null, Node.class);
 }