@Override
    protected Event doExecuteInternal(final RequestContext requestContext) {
        val service = WebUtils.getRegisteredService(requestContext);
        val failureMode = provider.getFailureModeEvaluator().evaluate(service, provider);
        LOGGER.debug("Final failure mode has been determined to be [{}]", failureMode);
        if (failureMode.isAllowedToBypass()) {
            LOGGER.debug("Failure mode [{}] is allowed to bypass multifactor authentication", failureMode);
            return eventFactory.event(this, CasWebflowConstants.TRANSITION_ID_BYPASS);
        }

        return eventFactory.event(this, CasWebflowConstants.TRANSITION_ID_UNAVAILABLE);
    }
Action executed to determine how a MFA provider should fail if unavailable.

@author Travis Schmidt
@since 5.3.4
core/cas-server-core-webflow-mfa-api/src/main/java/org/apereo/cas/web/flow/actions/MultifactorAuthenticationFailureAction.java