List<BaseInjection> () { final List<Configuration> cfgList = new ArrayList<>(); final Set<Object> visited = new HashSet<>(); LanguageInjectionSupport.CONFIG_EP_NAME.processWithPluginDescriptor((configBean, pluginDescriptor) -> { final ClassLoader loader = pluginDescriptor.getClassLoader(); try { final Enumeration<URL> enumeration = loader.getResources(configBean.getConfigUrl()); if (enumeration == null || !enumeration.hasMoreElements()) { LOG.warn(pluginDescriptor.getPluginId() +": " + configBean.getConfigUrl() + " was not found"); } else { while (enumeration.hasMoreElements()) { URL url = enumeration.nextElement(); if (!visited.add(url.getFile())) continue; // for DEBUG mode try (InputStream stream = url.openStream()) { cfgList.add(load(stream)); } catch (ProcessCanceledException e) { throw e; } catch (Exception e) { LOG.warn(e); } } } } catch (ProcessCanceledException e) { throw e; } catch (Exception e) { LOG.warn(e); } return Unit.INSTANCE; }); final List<BaseInjection> defaultInjections = new ArrayList<>(); for (String supportId : InjectorUtils.getActiveInjectionSupportIds()) { for (Configuration cfg : cfgList) { final List<BaseInjection> imported = cfg.getInjections(supportId); defaultInjections.addAll(imported); } } return Collections.unmodifiableList(defaultInjections); }