void (@NotNull PsiElement element) { if (element instanceof PsiIdentifier) { int offset = element.getTextRange().getStartOffset(); PsiExpression minExpression = PsiTreeUtil.getParentOfType(element, PsiExpression.class); if (minExpression != null && minExpression.getTextRange().getStartOffset() == offset) { PsiExpression maxExpression = minExpression; while (true) { PsiExpression nextExpression = PsiTreeUtil.getParentOfType(maxExpression, PsiExpression.class, true); if (nextExpression == null || nextExpression.getTextRange().getStartOffset() != offset) break; maxExpression = nextExpression; } collectExpressionData(minExpression, maxExpression, topLevelData, subData); } } super.visitElement(element); }