throw InterruptedException from all the places it is caught