code: public FutureData<PylonResult> analyze(PylonQuery query) {
          if (query == null) {
              throw new IllegalArgumentException("A valid analyze request body is required to analyze a stream");
          }
          FutureData<PylonResult> future = new FutureData<PylonResult>();
          URI uri = newParams().forURL(config.newAPIEndpointURI(ANALYZE));
          try {
              JSONRequest result = config.http()
                      .postJSON(uri, new PageReader(newRequestCallback(future, new PylonResult(), config)))
                      .setData(query);
              performRequest(future, result);
          } catch (JsonProcessingException ex) {
              throw new IllegalArgumentException("Valid JSON is required to analyze a stream");
          }
          return future;
      }
docs: /*
  Analyze a given recording and retrieve results. For information on this endpoint see documentation page:
  http://dev.datasift.com/pylon/docs/api/pylon-api-endpoints/pylonanalyze
  
  @param query pylon options for a recording
  @return information on execution of a recording