public Block createDataLanguageRootBlock(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;
  }
public Block createDataLanguageRootBlock(PsiElement dataElement,
                                            Language language,
                                            CodeStyleSettings settings,
                                            XmlFormattingPolicy xmlFormattingPolicy,
                                            @NotNull PsiFile psiFile,
                                            Indent indent)