void (@NotNull PsiFile file, @NotNull TextRange restrictRange, @NotNull TextRange priorityRange, @Nullable Predicate<? super PsiFile> rootFilter, @NotNull Processor<? super DividedElements> processor) { FileViewProvider viewProvider = file.getViewProvider(); for (Language language : viewProvider.getLanguages()) { PsiFile root = viewProvider.getPsi(language); if (root == null) { LOG.error(viewProvider + "("+viewProvider.getClass()+").getPsi(" + language + ") is null for file "+file); continue; } if (rootFilter == null || !rootFilter.test(root)) { continue; } divideInsideAndOutsideInOneRoot(root, TextRangeScalarUtil.toScalarRange(restrictRange), TextRangeScalarUtil.toScalarRange(priorityRange), processor); } }