private void createTransitionStateToInterrupt(final Flow flow) {
        val submit = getRealSubmissionState(flow);
        createTransitionForState(submit, CasWebflowConstants.TRANSITION_ID_SUCCESS,
            CasWebflowConstants.STATE_ID_INQUIRE_INTERRUPT, true);

        val triggerMode = casProperties.getInterrupt().getCore().getTriggerMode();
        if (triggerMode == InterruptCoreProperties.InterruptTriggerModes.AFTER_AUTHENTICATION) {
            val ticketCreateState = getState(flow, CasWebflowConstants.STATE_ID_CREATE_TICKET_GRANTING_TICKET, ActionState.class);
            prependActionsToActionStateExecutionList(flow, ticketCreateState, getInquireInterruptAction());
            createTransitionForState(ticketCreateState, CasWebflowConstants.TRANSITION_ID_INTERRUPT_REQUIRED,
                CasWebflowConstants.STATE_ID_INTERRUPT_VIEW);
        }

        prependActionsToActionStateExecutionList(flow, CasWebflowConstants.STATE_ID_GENERATE_SERVICE_TICKET,
            CasWebflowConstants.ACTION_ID_INQUIRE_INTERRUPT);
        createTransitionForState(flow, CasWebflowConstants.STATE_ID_GENERATE_SERVICE_TICKET,
            CasWebflowConstants.TRANSITION_ID_INTERRUPT_REQUIRED, CasWebflowConstants.STATE_ID_INTERRUPT_VIEW);
    }
This is {@link InterruptWebflowConfigurer}.

@author Misagh Moayyed
@since 5.2.0
support/cas-server-support-interrupt-webflow/src/main/java/org/apereo/cas/interrupt/webflow/InterruptWebflowConfigurer.java