@Override
  public void visitAssignmentExpression(
    @NotNull PsiAssignmentExpression assignment) {
    if (assigned) {
      return;
    }
    super.visitAssignmentExpression(assignment);
    final PsiExpression lhs = assignment.getLExpression();
    final PsiExpression arrayExpression = getDeepArrayExpression(lhs);
    if (!(arrayExpression instanceof PsiReferenceExpression referenceExpression)) {
      return;
    }
    final PsiElement referent = referenceExpression.resolve();
    if (referent == null) {
      return;
    }
    if (referent.equals(variable)) {
      assigned = true;
    }
  }
@Override
  public void visitAssignmentExpression(
    @NotNull PsiAssignmentExpression assignment)