@ConditionalOnMissingBean(name = "principalResolutionExecutionPlanConfigurer")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public PrincipalResolutionExecutionPlanConfigurer principalResolutionExecutionPlanConfigurer(
            @Qualifier(PersonDirectoryAttributeRepositoryPlan.BEAN_NAME)
            final PersonDirectoryAttributeRepositoryPlan personDirectoryAttributeRepositoryPlan,
            @Qualifier("personDirectoryAttributeRepositoryPrincipalResolver")
            final PrincipalResolver personDirectoryAttributeRepositoryPrincipalResolver) {
            return plan -> {
                if (personDirectoryAttributeRepositoryPlan.isEmpty()) {
                    LOGGER.debug("Attribute repository sources are not available for person-directory principal resolution");
                } else {
                    LOGGER.trace("Attribute repository sources are defined and available for person-directory principal resolution chain. ");
                    plan.registerPrincipalResolver(personDirectoryAttributeRepositoryPrincipalResolver);
                }
            };
        }
This is {@link CasPersonDirectoryConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-person-directory/src/main/java/org/apereo/cas/config/CasPersonDirectoryConfiguration.java