List<RuntimeConfigurationProducer> (Location location, ConfigurationContext context) { final ArrayList<RuntimeConfigurationProducer> result = new ArrayList<>(); List<RuntimeConfigurationProducer> producers = RuntimeConfigurationProducer.RUNTIME_CONFIGURATION_PRODUCER.getExtensionList(); for (final RuntimeConfigurationProducer prototype : DumbService.getInstance(context.getProject()).filterByDumbAwareness(producers)) { final RuntimeConfigurationProducer producer; try { producer = prototype.createProducer(location, context); } catch (ProcessCanceledException e) { throw e; } catch (Throwable e) { LOG.error(PluginException.createByClass(e, prototype.getClass())); continue; } if (producer.getConfiguration() != null) { LOG.assertTrue(producer.getSourceElement() != null, producer); result.add(producer); } } return result; }