@Override
    protected void doInitialize() {
        val accountFlow = getFlow(CasWebflowConfigurer.FLOW_ID_ACCOUNT);
        if (accountFlow != null) {
            val accountView = getState(accountFlow, CasWebflowConstants.STATE_ID_MY_ACCOUNT_PROFILE_VIEW, ViewState.class);
            var currentActions = Arrays.stream(accountView.getRenderActionList().toArray())
                .filter(MultifactorAuthenticationDeviceProviderAction.class::isInstance)
                .map(MultifactorAuthenticationDeviceProviderAction.class::cast)
                .map(MultifactorAuthenticationDeviceProviderAction::getName)
                .collect(Collectors.toSet());

            val providerActions = applicationContext.getBeansOfType(MultifactorAuthenticationDeviceProviderAction.class)
                .values()
                .stream()
                .filter(BeanSupplier::isNotProxy)
                .filter(action -> !currentActions.contains(action.getName()))
                .collect(Collectors.toList());
            AnnotationAwareOrderComparator.sort(providerActions);
            accountView.getRenderActionList().addAll(providerActions.toArray(CasWebflowConfigurer.EMPTY_ACTIONS_ARRAY));

            val currentTrustActions = Arrays.stream(accountView.getRenderActionList().toArray())
                .filter(MultifactorAuthenticationTrustedDeviceProviderAction.class::isInstance)
                .map(MultifactorAuthenticationTrustedDeviceProviderAction.class::cast)
                .map(MultifactorAuthenticationTrustedDeviceProviderAction::getName)
                .collect(Collectors.toSet());

            val trustedActions = applicationContext.getBeansOfType(MultifactorAuthenticationTrustedDeviceProviderAction.class)
                .values()
                .stream()
                .filter(BeanSupplier::isNotProxy)
                .filter(action -> !currentTrustActions.contains(action.getName()))
                .collect(Collectors.toList());
            AnnotationAwareOrderComparator.sort(trustedActions);
            accountView.getRenderActionList().addAll(trustedActions.toArray(CasWebflowConfigurer.EMPTY_ACTIONS_ARRAY));

            val deleteState = createActionState(accountFlow, "deleteMfaDevice", CasWebflowConstants.ACTION_ID_ACCOUNT_PROFILE_DELETE_MFA_DEVICE);
            createStateDefaultTransition(deleteState, CasWebflowConstants.STATE_ID_MY_ACCOUNT_PROFILE_VIEW);
            createTransitionForState(accountView, "delete", deleteState.getId());
        }
    }
This is {@link MultifactorAuthenticationAccountProfileWebflowConfigurer}.

@author Misagh Moayyed
@since 6.6.0
core/cas-server-core-webflow-mfa-api/src/main/java/org/apereo/cas/web/flow/configurer/MultifactorAuthenticationAccountProfileWebflowConfigurer.java