Tracing this `future.get()` call down, the `InterruptedException` originates from a call to `CountDownLatch.await()`, which clears the interrupt flag if it throws. See implementation in `AbstractQueuedSynchronizer.acquireSharedInterruptibly()` for verification.