void (@NotNull Element state) { ExpandMacroToPathMap macroExpands = new ExpandMacroToPathMap(); PathMacrosImpl.getInstanceEx().addMacroExpands(macroExpands); macroExpands.substitute(state, SystemInfo.isFileSystemCaseSensitive); incModificationCount(); for (Element element : state.getChildren(RESOURCE_ELEMENT)) { String url = element.getAttributeValue(URL_ATTR); if (!Strings.isEmpty(url)) { addSilently(url, DEFAULT_VERSION, Objects.requireNonNull(element.getAttributeValue(LOCATION_ATTR)).replace('/', File.separatorChar)); } } myIgnoredResources.clear(); for (Element element : state.getChildren(IGNORED_RESOURCE_ELEMENT)) { addIgnoredSilently(element.getAttributeValue(URL_ATTR)); } Element child = state.getChild(HTML_DEFAULT_DOCTYPE_ELEMENT); if (child != null) { String text = child.getText(); if (FileUtil.toSystemIndependentName(text).endsWith(".jar!/resources/html5-schema/html5.rnc")) { text = HTML5_DOCTYPE_ELEMENT; } myDefaultHtmlDoctype = text; } Element schemaElement = state.getChild(XML_SCHEMA_VERSION); if (schemaElement != null) { String text = schemaElement.getText(); myXMLSchemaVersion = XMLSchemaVersion.XMLSchema_1_1.toString().equals(text) ? XMLSchemaVersion.XMLSchema_1_1 : XMLSchemaVersion.XMLSchema_1_0; } Element catalogElement = state.getChild(CATALOG_PROPERTIES_ELEMENT); if (catalogElement != null) { myCatalogPropertiesFile = catalogElement.getTextTrim(); } }