void (Runnable runnable, boolean fromImport) { List<MavenProject> ignoredBefore; List<MavenProject> ignoredAfter; synchronized (myStateLock) { ignoredBefore = getIgnoredProjects(); runnable.run(); ignoredAfter = getIgnoredProjects(); } List<MavenProject> ignored = new ArrayList<>(ignoredAfter); ignored.removeAll(ignoredBefore); List<MavenProject> unignored = new ArrayList<>(ignoredBefore); unignored.removeAll(ignoredAfter); if (ignored.isEmpty() && unignored.isEmpty()) return; fireProjectsIgnoredStateChanged(ignored, unignored, fromImport); }