+ AbstractLifeCycle.setFailed(Throwable) is now protected, so that the odd usages from WebAppContext.doStart() can be supported + The AbstractLifeCycle.doStart() now checks for state == FAILED