void (@NotNull List<? super PsiVariable> array, @NotNull PsiElement scope) { if (scope instanceof PsiReferenceExpression) { PsiVariable variable = getUsedVariable((PsiReferenceExpression)scope); if (variable != null) { if (!array.contains(variable)) { array.add(variable); } } } PsiElement[] children = scope.getChildren(); for (PsiElement child : children) { ProgressManager.checkCanceled(); addUsedVariables(array, child); } }