protected void doFailed(final String operation, final Throwable cause) throws Exception { logTransitionFailure("Lifecycle operation " + operation + " failed", cause); current = State.FAILED; Throwables.propagateIfPossible(cause, Exception.class); throw Throwables.propagate(cause); }