public function downloadReportWithAwql(
        $reportQuery,
        $reportFormat,
        ReportSettings $reportSettingsOverride = null
    ) {
        // The `$reportQuery` argument must be a string. If it is an object
        // of other types, the object must be converted to a string for this
        // function to accept it.
        if (!is_string($reportQuery)) {
            throw new InvalidArgumentException('The report query must be a' .
                ' string.');
        }

        return $this->makeReportRequest(
            $this->requestOptionsFactory
                ->createRequestOptionsWithAwqlQuery(
                    $reportQuery,
                    $reportFormat,
                    $reportSettingsOverride
                )
        );
    }