package threadPoolConcurrency; public class Task implements Runnable { Compute fun = null; T task = null; Repository results = null; public Task(T task, Computefun, Repository results) { this.fun = fun; this.task = task; this.results = results; } public void run() { R result = fun.compute(task); results.insert(result); return; } }