public static Config loadConfig(Config original) {
    JobConfig jobConfig = new JobConfig(original);

    if (!jobConfig.getConfigLoaderFactory().isPresent()) {
      throw new ConfigException("Missing key " + JobConfig.CONFIG_LOADER_FACTORY + ".");
    }

    ConfigLoaderFactory factory = ReflectionUtil.getObj(jobConfig.getConfigLoaderFactory().get(), ConfigLoaderFactory.class);
    ConfigLoader loader = factory.getLoader(original.subset(ConfigLoaderFactory.CONFIG_LOADER_PROPERTIES_PREFIX));
    // overrides config loaded with original config, which may contain overridden values.
    return rewriteConfig(override(loader.getConfig(), original));
  }
Load full job config with {@link ConfigLoaderFactory} when present.

@param original config
@return full job config
samza-core/src/main/java/org/apache/samza/util/ConfigUtil.java