private List<String> validateConfiguration(final Class clazz) {
        val beans = BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext.getBeanFactory(), clazz);
        val propertySources = applicationContext.getEnvironment().getPropertySources();
        val conversionService = applicationContext.getEnvironment().getConversionService();
        val handler = new NoUnboundElementsBindHandler(
            new IgnoreTopLevelConverterNotFoundBindHandler(),
            new UnboundElementsSourceFilter());

        val configBinder = new Binder(ConfigurationPropertySources.from(propertySources),
            new PropertySourcesPlaceholdersResolver(propertySources),
            conversionService, null, null, null);

        val validationResults = new ArrayList<String>();
        beans.values().forEach(bean -> {
            try {
                val configBean = ConfigurationPropertiesBean.get(applicationContext, bean, UUID.randomUUID().toString());
                val target = configBean.asBindTarget();
                val annotation = configBean.getAnnotation();
                configBinder.bind(annotation.prefix(), target, handler);
            } catch (final BindException e) {
                var message = "\n".concat(e.getMessage()).concat("\n");
                if (e.getCause() instanceof final UnboundConfigurationPropertiesException ucpe) {
                    message += ucpe.getUnboundProperties()
                        .stream()
                        .map(property -> String.format("%n\t%s = %s (Origin: %s)", property.getName(), property.getValue(), property.getOrigin()))
                        .collect(Collectors.joining("\n"));
                } else {
                    LoggingUtils.error(LOGGER, e);
                }
                validationResults.add(message);
            }
        });
        return validationResults;
    }
Validate the cas configuration properties
from property sources found in the application
context and report back results..

@return the list
core/cas-server-core-configuration-api/src/main/java/org/apereo/cas/configuration/CasConfigurationPropertiesValidator.java