class Parser {

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

    private Parser() {
        throw new IllegalStateException("Utility class");
    }

    public static <T> T parseJson(HttpClient client, String url, Class<T> klass)
            throws IOException {<FILL_FUNCTION_BODY>}
}

        HttpGet get = client.createHttpGet(new URL(url));
        InputStream content = client.execute(get).getEntity().getContent();
        try (BufferedReader reader = new BufferedReader(
                new InputStreamReader(content))) {
            String lines = reader.lines().collect(Collectors.joining());
            try {
                return new GsonBuilder().create().fromJson(lines, klass);
            } catch (JsonSyntaxException cause) {
                throw new WebDriverManagerException(
                        "Bad JSON. First 100 chars " + lines.substring(0, 100),
                        cause);
            }
        }
    
<no_super_class>