protected void doInitialize() throws Exception {
    provider.getProviders().forEach(p -> {
        final FlowDefinitionRegistry duoFlowRegistry = buildDuoFlowRegistry(p);
        applicationContext.getAutowireCapableBeanFactory().initializeBean(duoFlowRegistry, p.getId());
        final ConfigurableListableBeanFactory cfg = (ConfigurableListableBeanFactory) applicationContext.getAutowireCapableBeanFactory();
        cfg.registerSingleton(p.getId(), duoFlowRegistry);
        registerMultifactorProviderAuthenticationWebflow(getLoginFlow(), p.getId(), duoFlowRegistry);
    });
    casProperties.getAuthn().getMfa().getDuo().stream().filter(MultifactorAuthenticationProperties.Duo::isTrustedDeviceEnabled).forEach(duo -> {
        final String id = duo.getId();
        try {
            LOGGER.debug("Activating multifactor trusted authentication for webflow [{}]", id);
            final FlowDefinitionRegistry registry = applicationContext.getBean(id, FlowDefinitionRegistry.class);
            registerMultifactorTrustedAuthentication(registry);
        } catch (final Exception e) {
            LOGGER.error("Failed to register multifactor trusted authentication for " + id, e);
        }
    });
}

        
main