### Question:
PubAnnotationProvider implements ExternalSearchProvider<PubAnnotationProviderTraits> { @Override public List<ExternalSearchResult> executeQuery(DocumentRepository aDocumentRepository, PubAnnotationProviderTraits aTraits, String aQuery) { List<PubAnnotationDocumentHandle> response = query(aTraits, aQuery); List<ExternalSearchResult> results = new ArrayList<>(); for (PubAnnotationDocumentHandle handle : response) { ExternalSearchResult result = new ExternalSearchResult(aDocumentRepository, handle.getSourceDb(), handle.getSourceId() + ".json"); result.setOriginalSource(handle.getSourceDb()); result.setDocumentTitle(handle.getUrl()); result.setHighlights(handle.getHighlights().stream() .map(ExternalSearchHighlight::new) .collect(Collectors.toList())); results.add(result); } return results; }  List<PubAnnotationDocumentHandle> query(PubAnnotationProviderTraits aTraits,
            String aQuery); @Override List<ExternalSearchResult> executeQuery(DocumentRepository aDocumentRepository,
            PubAnnotationProviderTraits aTraits, String aQuery); @Override ExternalSearchResult getDocumentResult(DocumentRepository aRepository,
            PubAnnotationProviderTraits aTraits, String aCollectionId, String aDocumentId); @Override String getDocumentText(DocumentRepository aDocumentRepository,
            PubAnnotationProviderTraits aTraits, String aCollectionId, String aDocumentId); @Override InputStream getDocumentAsStream(DocumentRepository aDocumentRepository,
            PubAnnotationProviderTraits aTraits, String aCollectionId, String aDocumentId); @Override String getDocumentFormat(DocumentRepository aRepository,
            PubAnnotationProviderTraits aTraits, String aCollectionId, String aDocumentId);  }### Answer:
@Test public void thatExecuteQueryWorks() throws Exception { List<ExternalSearchResult> results = sut.executeQuery(repo, traits, "binding"); assertThat(results).isNotEmpty(); }