@Override
  protected void buildLanguageFoldRegions(@NotNull List<FoldingDescriptor> descriptors,
                                          @NotNull PsiElement root,
                                          @NotNull Document document,
                                          boolean quick) {
    if (!(root instanceof ShFile)) return;
    Collection<PsiElement> psiElements = PsiTreeUtil.findChildrenOfAnyType(root, ShBlock.class, ShDoBlock.class, ShHeredoc.class,
                                                                           PsiComment.class);
    foldHeredoc(descriptors, psiElements, document);
    foldComment(descriptors, psiElements, document);
    foldBlock(descriptors, psiElements);
  }
@Override
  protected void buildLanguageFoldRegions(@NotNull List<FoldingDescriptor> descriptors,
                                          @NotNull PsiElement root,
                                          @NotNull Document document,
                                          boolean quick)