@Override
 public void end() {
   super.end();
   mySemaphore.up();
 }
 @Override
 public void waitForTasksToFinish() {
   super.waitForTasksToFinish();
   mySemaphore.waitFor();
 }