@Override
    public final AuthenticationRiskContingencyResponse execute(final Authentication authentication,
                                                               final RegisteredService service,
                                                               final AuthenticationRiskScore score,
                                                               final HttpServletRequest request) throws Throwable {
        LOGGER.debug("Executing [{}] to produce a risk response", getClass().getSimpleName());
        for (val notifier : notifiers) {
            notifier.setAuthentication(authentication);
            notifier.setAuthenticationRiskScore(score);
            notifier.setRegisteredService(service);
            notifier.setClientInfo(ClientInfoHolder.getClientInfo());
            LOGGER.debug("Publishing risk notification [{}]", notifier.getClass().getSimpleName());
            notifier.publish();
        }
        return executeInternal(authentication, service, score, request);
    }
This is {@link BaseAuthenticationRiskContingencyPlan}.

@author Misagh Moayyed
@since 5.1.0
support/cas-server-support-electrofence/src/main/java/org/apereo/cas/impl/plans/BaseAuthenticationRiskContingencyPlan.java