code: @Override
    public Map<ConfigKeyPath, Config> getOwnConfigs(Collection<ConfigKeyPath> configKeys) {
      Collection<ConfigKeyPath> configKeysNotInCache = new ArrayList<>();
      Map<ConfigKeyPath, Config> result = new HashMap<>();
      for(ConfigKeyPath configKey: configKeys){
        Config cachedValue = this.ownConfigCache.getIfPresent(configKey);
        if(cachedValue==null){
          configKeysNotInCache.add(configKey);
        }
        else{
          result.put(configKey, cachedValue);
        }
      }
  
      // for ConfigKeyPath which are not in cache
      if(configKeysNotInCache.size()>0){
        Map<ConfigKeyPath, Config> configsFromFallBack = this.valueFallback.getOwnConfigs(configKeysNotInCache);
        this.ownConfigCache.putAll(configsFromFallBack);
        result.putAll(configsFromFallBack);
      }
  
      return result;
    }
docs: {@inheritDoc}.
  
  <p>
  If present in the cache, return the cached {@link com.typesafe.config.Config} for given input
  Otherwise, simply delegate the functionality to the internal {ConfigStoreValueInspector} and store the value into cache
  </p>