Tangentially related to this: I wonder if we should be calling `Thread.interrupted()` to ensure the interrupt is properly cleared?