code: public FutureData<PylonRecordingId> start(PylonStream stream, String name) {
          if (stream == null || stream.hash.isEmpty()) {
              throw new IllegalArgumentException("A valid hash is required to start a stream");
          }
          FutureData<PylonRecordingId> future = new FutureData<>();
          URI uri = newParams().forURL(config.newAPIEndpointURI(START));
          JSONRequest request = config.http()
                  .putJSON(uri, new PageReader(newRequestCallback(future, new PylonRecordingId(), config)))
                  .addField("hash", stream.hash)
                  .addField("name", name);
          performRequest(future, request);
          return future;
      }
docs: /*
  Start a recording with the given hash & name. For information on this endpoint see documentation page:
  http://dev.datasift.com/pylon/docs/api/pylon-api-endpoints/pylonstart
  
  @param stream the stream hash
  @param name a name for the subscription
  @return a Datasift pylon recording id. See {@link com.datasift.client.pylon.PylonRecording.PylonRecordingId}