*/
public void waitForTasksToFinish() throws InterruptedException, AbortedException {
try {
lock.readLock().lock();
if (aborted) {
throw new AbortedException(errorMessage);
}
if (remainingTasks == 0) {
return;
}
} finally {
lock.readLock().unlock();
}
allTasksFinished.await();
try {
lock.readLock().lock();
if (aborted) {
throw new AbortedException(errorMessage);
}
} finally {
lock.readLock().unlock();
}
}