void (@NotNull PsiReferenceExpression expression) { if (!result.get().booleanValue()) { return; } super.visitReferenceExpression(expression); final PsiElement target = expression.resolve(); if (!(target instanceof PsiVariable)) { return; } final PsiElement[] defs = DefUseUtil.getDefs(block, (PsiVariable)target, cause); for (PsiElement def : defs) { if (def.getTextOffset() > offset) { result.set(Boolean.FALSE); } } }