}
catch ( InterruptedException e )
{
if ( !task.ignoreInterrupts() )
{
task.cancel();
logger.info( "Task cancelled: {} cancelled: {} ; done: {}", task, task.isCancelled(),
task.isDone() );
throw new TaskExecutionException( "Never interrupt sleeping threads! :)", e );