TemplateLanguageStructureViewBuilder (@NotNull PsiFile psiFile, @Nullable PairFunction<? super PsiFile, ? super Editor, ? extends StructureViewModel> modelFactory) { return new TemplateLanguageStructureViewBuilder(psiFile) { @Override protected TreeBasedStructureViewBuilder createMainBuilder(@NotNull PsiFile psi) { return modelFactory == null ? null : new TreeBasedStructureViewBuilder() { @Override public boolean isRootNodeShown() { return false; } @NotNull @Override public StructureViewModel createStructureViewModel(@Nullable Editor editor) { return modelFactory.fun(psi, editor); } }; } }; }