ExecutorService threadPool = Executors.newFixedThreadPool(numThreads);
for (Entry<String,Map<KeyExtent,List<PathSize>>> entry : assignmentsPerTabletServer.entrySet()) {
String location = entry.getKey();
threadPool
.submit(new TraceRunnable(new LoggingRunnable(log, new AssignmentTask(credentials, assignmentFailures, tableName, location, entry.getValue()))));
}
threadPool.shutdown();
while (!threadPool.isTerminated()) {