@Override
  protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiArrayAccessExpression arrayAccess) {
    if (!TypeConversionUtil.areTypesAssignmentCompatible(PsiTypes.intType(), arrayAccess.getIndexExpression())) {
      return null;
    }
    final PsiElement parent = arrayAccess.getParent();
    if (parent instanceof PsiAssignmentExpression) {
      final PsiExpression lExpression = ((PsiAssignmentExpression)parent).getLExpression();
      if (lExpression.equals(arrayAccess) && !(parent.getParent() instanceof PsiExpressionStatement)) {
        return null;
      }
    }

    final PsiExpression arrayExpression = arrayAccess.getArrayExpression();
    final PsiType type = arrayExpression.getType();
    final PsiType listType = createUtilListType(context.project(), arrayAccess);

    if (type == null || listType == null || !listType.isAssignableFrom(type)) return null;
    return Presentation.of(getFamilyName()).withFixAllOption(this);
  }
@Override
  protected @Nullable Presentation getPresentation(@NotNull ActionContext context, @NotNull PsiArrayAccessExpression arrayAccess)