On this one, when an InterruptedException is thrown, it clears the interrupt flag on the current thread.  We should reset that with

Thread.currentThread().interrupt();

And then do your propagate.