public List<R> decompileFunctions(List<Function> functions) throws InterruptedException,
			Exception {

		queue.addAll(functions);

		Collection<QResult<Function, R>> qResults = queue.waitForResults();

		List<R> results = new ArrayList<R>();
		for (QResult<Function, R> qResult : qResults) {
			results.add(qResult.getResult());
		}

		return results;
	}
A class that simplifies some the concurrent datastructure setup required for decompiling 
functions.  This class is meant to be used when you wish to decompile functions in groups 
(or chunks) rather than decompiling all functions at once.

@param <R> The result type
Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/parallel/ChunkingParallelDecompiler.java