PsiElement (PsiExpression parent) { PsiElement element = PsiUtil.getVariableCodeBlock(myIterator, null); PsiCodeBlock block = element instanceof PsiCodeBlock ? (PsiCodeBlock)element : PsiTreeUtil.getParentOfType(element, PsiCodeBlock.class); if (block == null) return null; return StreamEx.of(DefUseUtil.getRefs(block, myIterator, Objects.requireNonNull(myIterator.getInitializer()))) .filter(e -> PsiTreeUtil.isAncestor(parent, e, false)) .collect(MoreCollectors.onlyOne()).orElse(null); }