class DockerHubService {

    final Logger log = getLogger(lookup().lookupClass());

    static final String GET_IMAGE_TAGS_PATH_FORMAT = "%sv2/repositories/%s/tags?page=%s&page_size=1024";

    private Config config;
    private HttpClient client;

    public DockerHubService(Config config, HttpClient client) {
        this.config = config;
        this.client = client;
    }

    public List<DockerHubTag> listTags(String dockerImageFormat) {<FILL_FUNCTION_BODY>}

}

        log.debug("Getting browser image list from Docker Hub");
        List<DockerHubTag> results = new ArrayList<>();

        String dockerHubUrl = config.getDockerHubUrl();

        String repo = dockerImageFormat.substring(0,
                dockerImageFormat.indexOf(":"));
        Object url = String.format(GET_IMAGE_TAGS_PATH_FORMAT, dockerHubUrl,
                repo, 1);
        Gson gson = new GsonBuilder().create();

        try {
            do {
                log.trace("Sending request to {}", url);
                HttpGet createHttpGet = client
                        .createHttpGet(new URL(url.toString()));
                ClassicHttpResponse response = client.execute(createHttpGet);
                BufferedReader reader = new BufferedReader(
                        new InputStreamReader(
                                response.getEntity().getContent()));
                DockerHubTags dockerHubTags = gson.fromJson(reader,
                        DockerHubTags.class);

                results.addAll(dockerHubTags.getResults());
                url = dockerHubTags.next;

                response.close();

            } while (url != null);

        } catch (Exception e) {
            log.warn("Exception getting browser image list from Docker Hub", e);
        }

        return results;
    
<no_super_class>