void () { List<RunnerAndConfigurationSettings> settingsList = ContainerUtil.filter(RunManager.getInstance(myProject).getAllSettings(), settings -> { return isShowInDashboard(settings.getConfiguration()); }); List<List<RunDashboardServiceImpl>> result = new ArrayList<>(); myServiceLock.writeLock().lock(); try { for (RunnerAndConfigurationSettings settings : settingsList) { List<RunDashboardServiceImpl> syncedServices = getServices(settings); if (syncedServices == null) { syncedServices = new SmartList<>(new RunDashboardServiceImpl(settings, null)); } result.add(syncedServices); } for (List<RunDashboardServiceImpl> oldServices : myServices) { RunDashboardService oldService = oldServices.get(0); if (oldService.getContent() != null && !settingsList.contains(oldService.getSettings())) { if (!updateServiceSettings(result, oldServices)) { result.add(oldServices); } } } myServices = result; } finally { myServiceLock.writeLock().unlock(); } }