KrauseningAwarePropertiesManager(Class<? extends Config> clazz, Properties properties,
ScheduledExecutorService scheduler, VariablesExpander expander, LoadersManager loaders, Map<?, ?>[] imports) {
super(clazz, properties, scheduler, expander, loaders, imports);
KrauseningSources krauseningSources = clazz.getAnnotation(KrauseningSources.class);
if (krauseningSources == null || krauseningSources.value().length == 0) {
throw new IllegalArgumentException("No @KrauseningSources were defined on " + clazz.getCanonicalName());
}
this.krauseningPropertyFileNames = Arrays.asList(krauseningSources.value());
KrauseningMergePolicy mergePolicy = clazz.getAnnotation(KrauseningMergePolicy.class);
this.mergePolicyType = mergePolicy != null ? mergePolicy.value()
: KrauseningMergePolicyType.FAIL_ON_DUPLICATE_PROPERTY_KEY;