protected void createIdentityProviderLogoutState(final Flow flow) {
        val logoutState = createActionState(flow, CasWebflowConstants.STATE_ID_DELEGATED_AUTHENTICATION_IDP_LOGOUT,
            createEvaluateAction(CasWebflowConstants.ACTION_ID_DELEGATED_AUTHENTICATION_IDP_LOGOUT));
        createTransitionForState(logoutState, CasWebflowConstants.TRANSITION_ID_PROCEED, "redirectToCasLogout");
        createTransitionForState(logoutState, CasWebflowConstants.TRANSITION_ID_DONE, "logoutCompleted");

        val redirectState = createActionState(flow, "redirectToCasLogout",
            CasWebflowConstants.ACTION_ID_DELEGATED_AUTHENTICATION_IDP_FINALIZE_LOGOUT);
        createTransitionForState(redirectState, CasWebflowConstants.TRANSITION_ID_LOGOUT, "logoutSubflow");
        
        val logoutSubflow = createSubflowState(flow, "logoutSubflow", CasWebflowConfigurer.FLOW_ID_LOGOUT);
        createStateDefaultTransition(logoutSubflow, "logoutCompleted");
        
        val logoutCompleted = createEndState(flow, "logoutCompleted");
        logoutCompleted.setFinalResponseAction(ConsumerExecutionAction.OK);
    }
The {@link DelegatedAuthenticationWebflowConfigurer} is responsible for
adjusting the CAS webflow context for pac4j integration.

@author Misagh Moayyed
@since 4.2
support/cas-server-support-pac4j-core/src/main/java/org/apereo/cas/web/flow/DelegatedAuthenticationWebflowConfigurer.java