code: public JSONObject handleRequest(JmxRequest pJmxReq) throws InstanceNotFoundException, AttributeNotFoundException,
              ReflectionException, MBeanException, IOException {
          lazyInitIfNeeded();
  
          boolean debug = isDebug();
  
          long time = 0;
          if (debug) {
              time = System.currentTimeMillis();
          }
          JSONObject json;
          try {
              json = callRequestDispatcher(pJmxReq);
  
              // Update global history store, add timestamp and possibly history information to the request
              historyStore.updateAndAdd(pJmxReq,json);
              json.put("status",200 /* success */);
          } catch (NotChangedException exp) {
              // A handled indicates that its value hasn't changed. We return an status with
              //"304 Not Modified" similar to the HTTP status code (http://en.wikipedia.org/wiki/HTTP_status)
              json = new JSONObject();
              json.put("request",pJmxReq.toJSON());
              json.put("status",304);
              json.put("timestamp",System.currentTimeMillis() / 1000);
          }
  
          if (debug) {
              debug("Execution time: " + (System.currentTimeMillis() - time) + " ms");
              debug("Response: " + json);
          }
  
          return json;
      }
docs: Handle a single JMXRequest. The response status is set to 200 if the request
  was successful
  
  @param pJmxReq request to perform
  @return the already converted answer.
  @throws InstanceNotFoundException
  @throws AttributeNotFoundException
  @throws ReflectionException
  @throws MBeanException