code: private void readQueryResult(InH3 hIn, HeadersAmp headers)
        throws IOException
    {
      ServiceRefAmp serviceRef = readToAddress(hIn);
    
      long id = hIn.readLong();
  
      QueryRefAmp queryRef = serviceRef.removeQueryRef(id);
    
      if (queryRef != null) {
        ClassLoader loader = queryRef.getClassLoader();
  
        Thread thread = Thread.currentThread();
        thread.setContextClassLoader(loader);
        // XXX: _serializer.setClassLoader(loader);
      }
      else {
        // XX: _serializer.setClassLoader(null);
      }
  
      Object value = hIn.readObject();
  
      if (log.isLoggable(_logLevel)) {
        log.log(_logLevel, "query-result-r " + value + " (in " + this + ")"
                + "\n  {id:" + id + ", to:" + serviceRef + "," + headers + "}");
      }
  
      if (queryRef != null) {
        queryRef.complete(headers, value);
      }
      else if (log.isLoggable(Level.WARNING)) {
        log.warning("query-result qid=" + id + " for service " + serviceRef +
                    " does not match any known queries.\n" + headers);
      }
    }
docs: query reply parsing
  
  <pre><code>
  ["reply", {headers}, "from", qid, value]
  </code></pre>
  
  @param hIn the hessian input stream
  @param headers the message's headers