### Question:
FullTraversalConnector implements IndexingConnector, IncrementalChangeHandler { @Override public synchronized void handleIncrementalChanges() throws IOException, InterruptedException { doTraverse("incremental traversal", CHECKPOINT_INCREMENTAL, queueCheckpoint.getCurrentQueueName(), repository::getChanges); } 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 testHandleIncrementalChangesWithQueueNames() throws Exception { List<ApiOperation> docs = createRepositoryDocsAndResponses(3); FullTraversalConnector connector = createConnector( true); verifyQueueValue(docs, null); connector.handleIncrementalChanges(); verifyQueueValue(docs, QUEUE_A); verifyQueueCheckpointHandler(1, 0, null); }
@Test public void testHandleIncrementalChangesWithoutQueueNames() throws Exception { List<ApiOperation> docs = createRepositoryDocsAndResponses(3); FullTraversalConnector connector = createConnector( false); verifyQueueValue(docs, null); connector.handleIncrementalChanges(); verifyQueueValue(docs, null); verifyQueueCheckpointHandler(0, 0, null); }