public static PrincipalResolver newPersonDirectoryPrincipalResolver(
        final ConfigurableApplicationContext applicationContext,
        final PrincipalFactory principalFactory,
        final PersonAttributeDao attributeRepository,
        final AttributeMerger attributeMerger,
        final ServicesManager servicesManager,
        final AttributeDefinitionStore attributeDefinitionStore,
        final AttributeRepositoryResolver attributeRepositoryResolver,
        final PersonDirectoryPrincipalResolverProperties... personDirectory) {
        return newPersonDirectoryPrincipalResolver(applicationContext, principalFactory, attributeRepository,
            attributeMerger, PersonDirectoryPrincipalResolver.class, servicesManager,
            attributeDefinitionStore, attributeRepositoryResolver, personDirectory);
    }
New person directory principal resolver.

@param applicationContext       the application context
@param principalFactory         the principal factory
@param attributeRepository      the attribute repository
@param attributeMerger          the attribute merger
@param servicesManager          the services manager
@param attributeDefinitionStore the attribute definition store
@param personDirectory          the person directory
@return the principal resolver
support/cas-server-support-person-directory-core/src/main/java/org/apereo/cas/authentication/principal/resolvers/PersonDirectoryPrincipalResolver.java