@Override
    public List<MessageDescriptor> handle(final AuthnResponse response, final PasswordPolicyContext configuration) throws Throwable {
        if (configuration == null) {
            LOGGER.debug("No password policy configuration is defined");
            return new ArrayList<>();
        }
        val accountStateHandler = configuration.getAccountStateHandler();
        if (accountStateHandler == null) {
            LOGGER.debug("No password policy account state handler is defined");
            return new ArrayList<>();
        }

        LOGGER.debug("Applying password policy [{}] to [{}]", response, accountStateHandler);
        return accountStateHandler.handle(response, configuration);
    }
This is {@link DefaultPasswordPolicyHandlingStrategy}.

@author Misagh Moayyed
@since 5.2.0
core/cas-server-core-authentication-api/src/main/java/org/apereo/cas/authentication/support/password/DefaultPasswordPolicyHandlingStrategy.java