private static ImmutableMap<String, SingleResourceNameConfig> createSingleResourceNameConfigs( DiagCollector diagCollector, ConfigProto configProto, @Nullable List<ProtoFile> sourceProtos, TargetLanguage language) { ProtoFile file = null; if (sourceProtos != null) { file = sourceProtos.get(0); } LinkedHashMap<String, SingleResourceNameConfig> singleResourceNameConfigsMap = new LinkedHashMap<>(); for (CollectionConfigProto collectionConfigProto : configProto.getCollectionsList()) { createSingleResourceNameConfig( diagCollector, collectionConfigProto, singleResourceNameConfigsMap, file, language); } for (InterfaceConfigProto interfaceConfigProto : configProto.getInterfacesList()) { for (CollectionConfigProto collectionConfigProto : interfaceConfigProto.getCollectionsList()) { createSingleResourceNameConfig( diagCollector, collectionConfigProto, singleResourceNameConfigsMap, file, language); } } if (diagCollector.getErrorCount() > 0) { return null; } else { return ImmutableMap.copyOf(singleResourceNameConfigsMap); } }