in src/main/java/org/apache/geronimo/jcache/simple/SimpleCache.java [533:553]
private void addPoolTask(final Runnable runnable) {
final AtomicReference<Future<?>> ref = new AtomicReference<>();
final CountDownLatch refIsSet = new CountDownLatch(1);
ref.set(pool.submit(new Runnable() {
@Override
public void run() {
try {
runnable.run();
} finally {
try {
refIsSet.await();
} catch (final InterruptedException e) {
Thread.currentThread().interrupt();
}
poolTasks.remove(ref.get());
}
}
}));
refIsSet.countDown();
poolTasks.add(ref.get());
}