void (@NotNull List<String> args) { try { DocumentBuilder builder = JavaXmlDocumentKt.createDocumentBuilder(); Document document = builder.newDocument(); Element inspections = document.createElement("Inspections"); document.appendChild(inspections); for (InspectionToolWrapper<?, ?> tool : InspectionToolRegistrar.getInstance().createTools()) { Element inspection = document.createElement("Inspection"); inspection.setAttribute("groupPath", StringUtil.join(tool.getGroupPath(), ";")); inspection.setAttribute("group", tool.getGroupDisplayName()); inspection.setAttribute("name", tool.getDisplayName()); inspection.setAttribute("level", tool.getDefaultLevel().getName()); if (tool.getLanguage() != null) { inspection.setAttribute("language", tool.getLanguage()); } Element description = document.createElement("description"); CDATASection descriptionSection = document.createCDATASection(escapeCDATA(tool.loadDescription())); description.appendChild(descriptionSection); inspection.appendChild(description); inspections.appendChild(inspection); } Transformer transformer = TransformerFactory.newDefaultInstance().newTransformer(); transformer.setOutputProperty(OutputKeys.INDENT, "yes"); DOMSource source = new DOMSource(document); final String path = args.size() == 2 ? args.get(1) : PathManager.getHomePath() + File.separator + "AllInspections.xml"; StreamResult console = new StreamResult(new File(path)); transformer.transform(source, console); System.exit(0); } catch (TransformerException e) { // noinspection CallToPrintStackTrace e.printStackTrace(); System.exit(1); } }