@Override public void readExternal(Element element) throws InvalidDataException { DefaultJDOMExternalizer.readExternal(this, element); if (LAYOUT_STATIC_IMPORTS_SEPARATELY) { // add <all other static imports> entry if there is none boolean found = false; for (PackageEntry entry : IMPORT_LAYOUT_TABLE.getEntries()) { if (entry == PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY) { found = true; break; } } if (!found) { PackageEntry last = IMPORT_LAYOUT_TABLE.getEntryCount() == 0 ? null : IMPORT_LAYOUT_TABLE.getEntryAt(IMPORT_LAYOUT_TABLE.getEntryCount() - 1); if (last != PackageEntry.BLANK_LINE_ENTRY) { IMPORT_LAYOUT_TABLE.addEntry(PackageEntry.BLANK_LINE_ENTRY); } IMPORT_LAYOUT_TABLE.addEntry(PackageEntry.ALL_OTHER_STATIC_IMPORTS_ENTRY); } } boolean oldOptionsImported = importOldIndentOptions(element); for (final CustomCodeStyleSettings settings : getCustomSettingsValues()) { settings.readExternal(element); settings.importLegacySettings(); } final List list = element.getChildren(ADDITIONAL_INDENT_OPTIONS); if (list != null) { for (Object o : list) { if (o instanceof Element) { final Element additionalIndentElement = (Element) o; final String fileTypeId = additionalIndentElement.getAttributeValue(FILETYPE); if (fileTypeId != null && !fileTypeId.isEmpty()) { FileType target = FileTypeManager.getInstance().getFileTypeByExtension(fileTypeId); if (FileTypes.UNKNOWN == target || FileTypes.PLAIN_TEXT == target || target.getDefaultExtension().isEmpty()) { target = new TempFileType(fileTypeId); } final IndentOptions options = getDefaultIndentOptions(target); options.readExternal(additionalIndentElement); registerAdditionalIndentOptions(target, options); } } } } myCommonSettingsManager.readExternal(element); if (oldOptionsImported) { copyOldIndentOptions("java", JAVA_INDENT_OPTIONS); copyOldIndentOptions("jsp", JSP_INDENT_OPTIONS); copyOldIndentOptions("xml", XML_INDENT_OPTIONS); } if (USE_SAME_INDENTS) IGNORE_SAME_INDENTS_FOR_LANGUAGES = true; }