### Question:
WebKnoxSearcher extends AbstractMultifacetSearcher<WebContent> { @Override public SearchResults<WebContent> search(MultifacetQuery query) throws SearcherException { List<WebContent> webResults = new ArrayList<>(); try { String requestUrl = buildRequestUrl(query.getText(), 0, query.getResultCount(), query.getLanguage()); LOGGER.debug("URL = {}", requestUrl); HttpResult httpResult = retriever.httpGet(requestUrl); if (httpResult.errorStatus()) { throw new SearcherException("Encountered HTTP status code " + httpResult.getStatusCode() + " when accessing " + requestUrl + "."); } String jsonString = httpResult.getStringContent(); LOGGER.debug("JSON = {}", jsonString); JsonArray jsonResults = new JsonArray(jsonString); for (int j = 0; j < jsonResults.size(); j++) { JsonObject currentResult = jsonResults.getJsonObject(j); WebContent webResult = parseResult(currentResult); webResults.add(webResult); if (webResults.size() >= query.getResultCount()) { break; } } return new SearchResults<>(webResults, (long)jsonResults.size()); } catch (HttpException e) { throw new SearcherException("HTTP error while searching for \"" + query + "\" with " + getName() + ": " + e.getMessage(), e); } catch (JsonException e) { throw new SearcherException("Error parsing the JSON response while searching for \"" + query + "\" with " + getName() + ": " + e.getMessage(), e); } } WebKnoxSearcher(String apiKey);  WebKnoxSearcher(Configuration configuration); @Override SearchResults<WebContent> search(MultifacetQuery query); @Override String getName(); static final String CONFIG_API_KEY; }### Answer:
@Test public void testSearch() throws Exception { WebKnoxSearcher webKnoxSearcher = new WebKnoxSearcher(API_KEY); List<WebContent> results = webKnoxSearcher.search("web such api", 5, Language.GERMAN); CollectionHelper.print(results); collector.checkThat(results.size(), is(5)); webKnoxSearcher = new WebKnoxSearcher(API_KEY); results = webKnoxSearcher.search("search api", 5, Language.ENGLISH); CollectionHelper.print(results); collector.checkThat(results.size(), is(5)); }