I might be wrong...but `InterruptedException` can only be thrown in `semaphore.acquire`, which is before `beforeBulk` gets called. IMO we should just remove this line, that's why I added the comment... 