if( traverseTasks.size() == 0 )
throw new IllegalStateException( "Cannot traverse; no pending traversals exist.");
OutputMerger outputMerger = new OutputMerger();</BUG>
ShardTraverser traverser = new ShardTraverser( traversalEngine,
<BUG>walker,
traverseTasks.remove(),
reference,
dataSource,</BUG>
outputMerger );
Future traverseResult = threadPool.submit(traverser);

if( traverseTasks.size() == 0 )
throw new IllegalStateException( "Cannot traverse; no pending traversals exist.");
Shard shard = traverseTasks.remove();
OutputMerger outputMerger = new OutputMerger();
ShardTraverser traverser = new ShardTraverser( traversalEngine,
walker,
shard,
getShardDataProvider(shard),
outputMerger );
Future traverseResult = threadPool.submit(traverser);
