/**
  * Downloads a report and returns a ReportDownloadResponse with the results.
  *
  * @param reportDefinition to download a report for.
  * @return {@link ReportDownloadResponse} When HTTP request completes. On success, the
  *     outputStream will be flushed and closed.
  * @throws ReportException If we don't receive a response from the server.
  * @throws ReportDownloadResponseException If the server indicates a problem with the request.
  */
 public ReportDownloadResponse downloadReport(ReportDefinition reportDefinition)
     throws ReportException, ReportDownloadResponseException {
   return handleResponse(adHocReportDownloadHelper.downloadReport(toXml(reportDefinition)));
 }
 /**
  * Downloads a report query (AWQL) and returns a ReportDownloadResponse with the results.
  *
  * @param reportQuery to download a report for.
  * @param format Format to download the report as. CSV,
  * @return {@link ReportDownloadResponse} When HTTP request completes. On success, the
  *     outputStream will be flushed and closed.
  * @throws ReportException If there is any issue making HTTP request with server.
  * @throws ReportDownloadResponseException If the server indicates a problem with the request.
  */
 public ReportDownloadResponse downloadReport(String reportQuery, DownloadFormat format)
     throws ReportException, ReportDownloadResponseException {
   return handleResponse(adHocReportDownloadHelper.downloadReport(reportQuery, format.value()));
 }