class ListingConnector implements IndexingConnector, ItemRetriever,
    IncrementalChangeHandler {

  @Subscribe
  public void handleAsyncOperation(AsyncApiOperation asyncOp) {
    ListenableFuture<List<GenericJson>> result =
        listeningExecutorService.submit(
            () -> {
              logger.log(Level.INFO, "Processing an asynchronous repository operation.");
              try {
                return execute(
                    Collections.singleton(asyncOp.getOperation()),
                    "asynchronous repository operation");
              } catch (IOException ex) {
                logger.log(
                    Level.WARNING,
                    "Exception occured while processing an asynchronous repository operation: ",
                    ex);
                throw ex;
              }
            });
    asyncOp.setResult(result);
  }

  public  ListingConnector(Repository repository);
  public  ListingConnector(Repository repository, CheckpointHandler checkpointHandler);

}