private static SimpleConfigurationMetadataRepository create(final RawConfigurationMetadata metadata) { val repository = new SimpleConfigurationMetadataRepository(); repository.add(metadata.getSources()); for (val item : metadata.getItems()) { val source = getSource(metadata, item); repository.add(item, source); } val allProperties = repository.getAllProperties(); for (val hint : metadata.getHints()) { var property = allProperties.get(hint.getId()); if (property != null) { addValueHints(property, hint); } else { val id = hint.resolveId(); property = allProperties.get(id); if (property != null) { if (hint.isMapKeyHints()) { addMapHints(property, hint); } else { addValueHints(property, hint); } } } } return repository; }