}
public static Map<String, Integer> getWordsAndCountsFromFilesInParallel(
final List<String> fileNames, final F<String, Map<String, Integer>> fileNameToWordsAndCounts, int numThreads) {
final ExecutorService pool = newFixedThreadPool(numThreads);
final ParModule m = parModule(Strategy.<Unit> executorStrategy(pool));
// Long wordCount = countWords(fileNames.map(readFile), m).claim();
final Map<String, Integer> result = getWordsAndCountsFromFiles(fileNames, fileNameToWordsAndCounts, m).claim();
pool.shutdown();