@Override
  public final @NotNull ModCommand surroundElements(@NotNull ActionContext context, @NotNull PsiElement @NotNull [] elements) {
    if (elements.length != 1 || !(elements[0] instanceof PsiExpression expr)) {
      throw new IllegalArgumentException(Arrays.toString(elements));
    }
    return ModCommand.psiUpdate(context, updater -> surroundExpression(context, ElementToWorkOn.getWritable(expr, updater), updater));
  }
@Override
  public final @NotNull ModCommand surroundElements(@NotNull ActionContext context, @NotNull PsiElement @NotNull [] elements)