} catch (ExecutionException e) {
return (T)doTimeoutBehavior(returnNullIfTimeout, e);
} catch (TimeoutException e) {
return (T)doTimeoutBehavior(returnNullIfTimeout, e);
} catch (InterruptedException e) {
throw new ApplicationInterruptedException(e);
}
}