Block (PsiElement dataElement, Language language, CodeStyleSettings settings, XmlFormattingPolicy xmlFormattingPolicy, @NotNull PsiFile psiFile, Indent indent) { Block block; if (dataElement instanceof XmlTag) { block = createXmlTagBlock(dataElement.getNode(), null, null, xmlFormattingPolicy, indent); } else { if (language.isKindOf(XMLLanguage.INSTANCE)) { block = createXmlBlock(dataElement.getNode(), null, Alignment.createAlignment(), xmlFormattingPolicy, indent, dataElement.getTextRange()); } else { final FormattingModelBuilder builder = LanguageFormatting.INSTANCE.forContext(language, dataElement); if (builder != null && !isInsideXmlAttributeValue(dataElement)) { FormattingModel otherLanguageModel = builder.createModel(FormattingContext.create(dataElement, settings)); block = otherLanguageModel.getRootBlock(); } else { block = new ReadOnlyBlock(dataElement.getNode()); } } } return block; }