boolean ( @NotNull PsiVariable variable, @Nullable PsiElement context, @NotNull PsiElement point) { if (context == null) { return false; } final PsiElement directChild = getDirectChildWhichContainsElement(context, point); if (directChild == null) { return false; } final PsiElement[] children = context.getChildren(); for (PsiElement child : children) { if (child == directChild) { return variableIsAssignedAtPoint(variable, directChild, point); } if (variableIsAssigned(variable, child)) { return true; } } return false; }