void (@NotNull PsiElement element, @NotNull ActionContext context, @NotNull ModPsiUpdater updater) { final GrIndexProperty arrayIndexExpression = (GrIndexProperty)element; final GrArgumentList argList = (GrArgumentList)arrayIndexExpression.getLastChild(); assert argList != null; final GrExpression[] arguments = argList.getExpressionArguments(); final PsiElement parent = element.getParent(); final GrExpression arrayExpression = arrayIndexExpression.getInvokedExpression(); if (!(parent instanceof GrAssignmentExpression assignmentExpression)) { rewriteAsGetAt(arrayIndexExpression, arrayExpression, arguments[0]); return; } final GrExpression rhs = assignmentExpression.getRValue(); if (rhs.equals(element)) { rewriteAsGetAt(arrayIndexExpression, arrayExpression, arguments[0]); } else { rewriteAsSetAt(assignmentExpression, arrayExpression, arguments[0], rhs); } }