### Question:
FullTraversalConnector implements IndexingConnector, IncrementalChangeHandler { @Subscribe public synchronized void handleAsyncOperation(AsyncApiOperation asyncOp) { logger.log(Level.INFO, "Processing an asynchronous repository operation."); try { String queueName = queueCheckpoint.getCurrentQueueName(); ExecuteCounter executeCounter = new ExecuteCounter(); ListenableFuture<List<GenericJson>> future = listeningExecutorService.submit( new ExecuteOperationCallable(asyncOp.getOperation(), executeCounter, 0L, queueName)); asyncOp.setResult(future); } catch (IOException e) { logger.log( Level.WARNING, "Exception occured while processing an asynchronous repository operation: ", e); asyncOp.getResult().cancel(true); } } FullTraversalConnector(Repository repository);  FullTraversalConnector(Repository repository, CheckpointHandler checkpointHandler); @Override String getDefaultId(); @Override void init(IndexingConnectorContext context); @Override void traverse(); @Subscribe synchronized void handleAsyncOperation(AsyncApiOperation asyncOp); @Override void saveCheckpoint(boolean isShutdown); @Override void destroy(); @Override synchronized void handleIncrementalChanges(); static final String NUM_THREADS; static final String TRAVERSE_USE_QUEUES; static final String TRAVERSE_PARTITION_SIZE; static final String TRAVERSE_QUEUE_TAG; static final String CHECKPOINT_FULL; static final String CHECKPOINT_INCREMENTAL; static final String CHECKPOINT_QUEUE; static final String QUEUE_NAME; }### Answer:
@Test public void testHandleAsyncOperation() throws Exception { AsyncApiOperation pushAsyncOperation = new AsyncApiOperation(errorOperation); AsyncApiOperation deleteAsyncOperation = new AsyncApiOperation(successOperation); setConfig("ignore", DefaultAclChoices.PUBLIC); FullTraversalConnector connector = new FullTraversalConnector(repositoryMock, checkpointHandlerMock); connector.init(connectorContextMock); connector.handleAsyncOperation(pushAsyncOperation); connector.handleAsyncOperation(deleteAsyncOperation); connector.destroy(); assertNotNull(deleteAsyncOperation.getResult().get()); verify(errorOperation).execute(indexingServiceMock); verify(successOperation).execute(indexingServiceMock); thrown.expect(ExecutionException.class); pushAsyncOperation.getResult().get(); }