code: public FutureData<DataSiftResult> stop(PylonRecordingId recordingId) {
          if (recordingId == null || recordingId.getId() == null || recordingId.getId().isEmpty()) {
              throw new IllegalArgumentException("A valid recording id is required to stop a recording");
          }
          FutureData<DataSiftResult> future = new FutureData<>();
          URI uri = newParams().forURL(config.newAPIEndpointURI(STOP));
          JSONRequest request = config.http()
                  .putJSON(uri, new PageReader(newRequestCallback(future, new BaseDataSiftResult(), config)))
                  .addField("id", recordingId.getId());
          performRequest(future, request);
          return future;
      }
docs: /*
  Stop the stream with the given hash. For information on this endpoint see documentation page:
  http://dev.datasift.com/pylon/docs/api/pylon-api-endpoints/pylonstop
  
  @param recordingId the id for the recording to stop.
  See {@link com.datasift.client.pylon.PylonRecording.PylonRecordingId}
  @return a result which can be checked for success or failure, A status 204 indicates success,
  or using {@link com.datasift.client.BaseDataSiftResult#isSuccessful()}