@RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @Bean
        @ConditionalOnMissingBean(name = "casMessageSource")
        public MessageSource messageSource(
            @Qualifier(TenantExtractor.BEAN_NAME)
            final TenantExtractor tenantExtractor,
            final CasConfigurationProperties casProperties,
            @Qualifier("casCommonMessages")
            final Properties casCommonMessages) {
            return new CasReloadableMessageBundle(tenantExtractor, casProperties, casCommonMessages);
        }
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