def METHOD_NAME(self, resource):
    """
    Compose URL with query string parameters.
    Will not lose existing static parameters in the URL string
    but does not support 'duplicate' parameter entries
    """
    if not self.query_params:
        return self.url
    evaluated_params = {
        k: utils.jmespath_search(v, resource) for k, v in self.query_params.items()
    }
    url_parts = list(parse.urlparse(self.url))
    query = dict(parse.parse_qsl(url_parts[4]))
    query.update(evaluated_params)
    url_parts[4] = parse.urlencode(query)
    return parse.urlunparse(url_parts)