I usually use a trick here to countDown on failure that I use something like this:

```
boolean success = false;
try {

  // we made it
  success = true;
} finally {
  if (!success) { indexLatch.countDown();}
}

```
maybe this makes things simpler here?