void (@NotNull final Element element) { myRuntimeDisabledDictionariesNames.clear(); myCustomDictionariesPaths.clear(); myOldDictionaryFoldersPaths.clear(); try { // runtime final int runtimeDictionariesSize = StringUtil.parseInt(element.getAttributeValue(RUNTIME_DICTIONARIES_ATTR_NAME), 0); for (int i = 0; i < runtimeDictionariesSize; i++) { myRuntimeDisabledDictionariesNames.add(element.getAttributeValue(RUNTIME_DICTIONARY_ATTR_NAME + i)); } // user // cover old dictionary folders settings (if no new settings available) if (element.getAttributeValue(CUSTOM_DICTIONARIES_ATTR_NAME) == null) { final int foldersSize = StringUtil.parseInt(element.getAttributeValue(FOLDERS_ATTR_NAME), 0); for (int i = 0; i < foldersSize; i++) { myOldDictionaryFoldersPaths.add(element.getAttributeValue(FOLDER_ATTR_NAME + i)); } myOldDictionaryFoldersPaths.forEach(folder -> SPFileUtil.processFilesRecursively(folder, file -> { if (FileUtilRt.extensionEquals(file, "dic")) { myCustomDictionariesPaths.add(file); } })); } // cover new dictionaries settings final int customDictSize = StringUtil.parseInt(element.getAttributeValue(CUSTOM_DICTIONARIES_ATTR_NAME), 0); for (int i = 0; i < customDictSize; i++) { myCustomDictionariesPaths.add(element.getAttributeValue(CUSTOM_DICTIONARY_ATTR_NAME + i)); } myDictionaryToSave = StringUtil.notNullize(element.getAttributeValue(DICTIONARY_TO_SAVE_ATTR_NAME), DEFAULT_DICTIONARY_TO_SAVE); myUseSingleDictionaryToSave = Boolean.parseBoolean( StringUtil.notNullize(element.getAttributeValue(USE_SINGLE_DICT_ATTR_NAME), String.valueOf(DEFAULT_USE_SINGLE_DICT))); mySettingsTransferred = Boolean.parseBoolean(StringUtil.notNullize(element.getAttributeValue(SETTINGS_TRANSFERRED), "false")); } catch (Exception ignored) { } }