@Bean
        @ConditionalOnMissingBean(name = ArgumentExtractor.BEAN_NAME)
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public ArgumentExtractor argumentExtractor(final List<ServiceFactoryConfigurer> configurers) {
            AnnotationAwareOrderComparator.sortIfNecessary(configurers);
            val serviceFactoryList = configurers.stream()
                .flatMap(configurer -> configurer.buildServiceFactories().stream())
                .collect(Collectors.toList());
            return new DefaultArgumentExtractor(serviceFactoryList);
        }
Load property files containing non-i18n fallback values
that should be exposed to Thyme templates.
keys in properties files added last will take precedence over the
internal cas_common_messages.properties.
Keys in regular messages bundles will override any of the common messages.

@param casProperties the cas properties
@return PropertiesFactoryBean containing all common (non-i18n) messages
core/cas-server-core-web/src/main/java/org/apereo/cas/config/CasCoreWebConfiguration.java