PsiVariable (PsiLocalVariable variable) { PsiElement scope = variable.getParent(); while (scope != null) { if (scope instanceof PsiFile || scope instanceof PsiMethod || scope instanceof PsiClassInitializer) break; scope = scope.getParent(); } if (scope == null) return null; PsiIdentifier nameIdentifier = variable.getNameIdentifier(); if (nameIdentifier == null) { return null; } final VariablesNotProcessor processor = new VariablesNotProcessor(variable, false); PsiScopesUtil.treeWalkUp(processor, nameIdentifier, scope); return processor.size() > 0 ? processor.getResult(0) : null; }