boolean (Set<PsiVariable> collectedVariables) { return StreamEx.of(collectedVariables) .select(PsiLocalVariable.class) .sorted(PsiElementOrderComparator.getInstance()) .map(var -> PsiTreeUtil.getParentOfType(var, PsiStatement.class)) .pairMap((l1, l2) -> l1 != null && l2 != null && l1.getParent() == l2.getParent() && collectStatementsBetween(l1, l2).isEmpty()) .allMatch(b -> b); }