void (MavenProject mavenProject) { final var childChanged = new Ref<>(false); Set<RunnerAndConfigurationSettings> settings = new HashSet<>( RunManager.getInstance(myProject).getConfigurationSettingsList(MavenRunConfigurationType.getInstance())); myChildren.forEach(node -> { if (settings.remove(node.getSettings())) { node.updateRunConfiguration(); } else { myChildren.remove(node); childChanged.set(true); } }); int oldSize = myChildren.size(); for (RunnerAndConfigurationSettings cfg : settings) { MavenRunConfiguration mavenRunConfiguration = (MavenRunConfiguration)cfg.getConfiguration(); if (VfsUtilCore.pathEqualsTo(mavenProject.getDirectoryFile(), mavenRunConfiguration.getRunnerParameters().getWorkingDirPath())) { myChildren.add(new RunConfigurationNode(myMavenProjectsStructure, this, cfg)); } } if (oldSize != myChildren.size()) { childChanged.set(true); sort(myChildren); } if (childChanged.get()) { childrenChanged(); } }