void (@NotNull Element e, boolean isProjectLevel) { List<FileColorConfiguration> configurations = isProjectLevel ? myProjectLevelConfigurations : myApplicationLevelConfigurations; configurations.clear(); List<FileColorConfiguration> newConfigurations = new ArrayList<>(); Map<String, String> predefinedScopeNameToPropertyKey = new HashMap<>(myPredefinedScopeNameToPropertyKey); for (Element child : e.getChildren(FILE_COLOR)) { FileColorConfiguration configuration = FileColorConfiguration.load(child); if (configuration != null) { if (!isProjectLevel) { predefinedScopeNameToPropertyKey.remove(configuration.getScopeName()); } newConfigurations.add(configuration); } } if (!isProjectLevel) { PropertiesComponent properties = PropertiesComponent.getInstance(); for (String scopeName : predefinedScopeNameToPropertyKey.keySet()) { String colorName = getColorNameForScope(properties, scopeName, predefinedScopeNameToPropertyKey); // empty means that value deleted if (!StringUtil.isEmpty(colorName)) { newConfigurations.add(new FileColorConfiguration(scopeName, colorName)); } } } configurations.addAll(newConfigurations); }