<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_query_results( self, job_id, retry, project=None, timeout_ms=None, location=None ):
 """Get the query results object for a query job. Arguments: job_id (str):
 Name of the query job. retry (google.api_core.retry.Retry):
 (Optional) How to retry the RPC. project (str):
 (Optional) project ID for the query job (defaults to the project of the client). timeout_ms (int):
 (Optional) number of milliseconds the the API call should wait for the query to complete before the request times out. location (str):
 Location of the query job. Returns: google.cloud.bigquery.query._QueryResults: A new ``_QueryResults`` instance. """


        extra_params = {"maxResults": 0}

        if project is None:
            project = self.project

        if timeout_ms is not None:
            extra_params["timeoutMs"] = timeout_ms

        if location is None:
            location = self.location

        if location is not None:
            extra_params["location"] = location

        path = "/projects/{}/queries/{}".format(project, job_id)

        # This call is typically made in a polling loop that checks whether the
        # job is complete (from QueryJob.done(), called ultimately from
        # QueryJob.result()). So we don't need to poll here.
        resource = self._call_api(
            retry, method="GET", path=path, query_params=extra_params
        )
        return _QueryResults.from_api_repr(resource)