def METHOD_NAME(self, hek_results, limit=None, progress=False, vso_response_format="table"):
    """
    Translates HEK results, makes a VSO query, then returns the results.
    Takes the results from a HEK query, translates them, then makes a VSO
    query, returning the results in a list organized by their
    corresponding HEK query.
    Parameters
    ----------
    hek_results : `sunpy.net.hek.hek.HEKRow` or `sunpy.net.hek.hek.HEKTable`
        The results from a HEK query in the form of a list.
    limit : int
        An approximate limit to the desired number of VSO results.
    progress : bool
        A flag to turn off the progress bar, defaults to "off"
    Examples
    --------
    >>> from sunpy.net import hek, hek2vso
    >>> h = hek.HEKClient()  # doctest: +REMOTE_DATA
    >>> tstart = '2011/08/09 07:23:56'
    >>> tend = '2011/08/09 12:40:29'
    >>> event_type = 'FL'
    >>> q = h.search(a.Time(tstart, tend), a.hek.EventType(event_type))  # doctest: +REMOTE_DATA
    >>> h2v = hek2vso.H2VClient()  # doctest: +REMOTE_DATA
    >>> res = h2v.translate_and_query(q)  # doctest: +REMOTE_DATA
    """
    vso_query = translate_results_to_query(hek_results)
    for query in tqdm(vso_query, unit="records"):
        temp = self.vso_client.search(*query, response_format=vso_response_format)
        self.vso_results.append(temp)
        self.num_of_records += len(temp)
        if limit is not None:
            if self.num_of_records >= limit:
                break
    return self.vso_results