@Override public final Optional<ConfigDefinition> getConfigDefinition(ConfigDefinitionKey defKey) { if (existingConfigDefs == null) { existingConfigDefs = new LinkedHashMap<>(); if (configDefinitionRepo.isPresent()) { existingConfigDefs.putAll(createLazyMapping(configDefinitionRepo.get())); } existingConfigDefs.putAll(applicationPackage.getAllExistingConfigDefs()); } if ( ! existingConfigDefs.containsKey(defKey)) return Optional.empty(); if (defArchive.get(defKey) != null) return Optional.of(defArchive.get(defKey)); ConfigDefinition def = existingConfigDefs.get(defKey).parse(); defArchive.put(defKey, def); return Optional.of(def); }