void (final ConfigurationFromContext configurationFromContext, final ConfigurationContext context) { int eventCount = IdeEventQueue.getInstance().getEventCount(); RunnerAndConfigurationSettings configurationSettings = configurationFromContext.getConfigurationSettings(); context.setConfiguration(configurationSettings); configurationFromContext.onFirstRun(context, () -> { if (LOG.isDebugEnabled()) { RunnerAndConfigurationSettings settings = context.getConfiguration(); RunConfiguration configuration = settings == null ? null : settings.getConfiguration(); String configurationClass = configuration == null ? null : configuration.getClass().getName(); LOG.debug(String.format("Create run configuration: %s", configurationClass)); } // Reset event counter if some UI was shown as // stated in `ConfigurationFromContext.onFirstRun` javadoc. // Can be removed if pre-cached context is used in ConfigurationFromContext. if (!Utils.isAsyncDataContext(context.getDataContext()) && eventCount != IdeEventQueue.getInstance().getEventCount()) { IdeEventQueue.getInstance().setEventCount(eventCount); } perform(configurationSettings, context); }); }