void (@NotNull Set<String> linkedProjectPathsToForget) { Map<ExternalProjectPojo, Collection<ExternalProjectPojo>> projects = state.availableProjects; for (Iterator<Map.Entry<ExternalProjectPojo, Collection<ExternalProjectPojo>>> it = projects.entrySet().iterator(); it.hasNext(); ) { Map.Entry<ExternalProjectPojo, Collection<ExternalProjectPojo>> entry = it.next(); if (linkedProjectPathsToForget.contains(entry.getKey().getPath())) { it.remove(); } } if (!ContainerUtil.isEmpty(state.recentTasks)) { for (Iterator<ExternalTaskExecutionInfo> it = state.recentTasks.iterator(); it.hasNext(); ) { ExternalTaskExecutionInfo taskInfo = it.next(); String path = taskInfo.getSettings().getExternalProjectPath(); if (linkedProjectPathsToForget.contains(path) || linkedProjectPathsToForget.contains(getRootProjectPath(path, myExternalSystemId, myProject))) { it.remove(); } } } for (Iterator<Map.Entry<String, ExternalProjectBuildClasspathPojo>> it = state.projectBuildClasspath.entrySet().iterator(); it.hasNext(); ) { Map.Entry<String, ExternalProjectBuildClasspathPojo> entry = it.next(); if (linkedProjectPathsToForget.contains(entry.getKey()) || linkedProjectPathsToForget.contains(getRootProjectPath(entry.getKey(), myExternalSystemId, myProject))) { it.remove(); } } for (Iterator<Map.Entry<String, SyncType>> it = state.projectSyncType.entrySet().iterator(); it.hasNext(); ) { Map.Entry<String, SyncType> entry = it.next(); if (linkedProjectPathsToForget.contains(entry.getKey()) || linkedProjectPathsToForget.contains(getRootProjectPath(entry.getKey(), myExternalSystemId, myProject))) { it.remove(); } } Map<String, Long> modificationStamps = state.modificationStamps; for (String path : linkedProjectPathsToForget) { modificationStamps.remove(path); } }