@Override
  protected void invoke(@NotNull ActionContext context, @NotNull PsiVariable variable, @NotNull ModPsiUpdater updater) {
    if (variable instanceof PsiField field) {
      PsiCodeBlock codeBlock = getEnclosingCodeBlock(field, updater.getWritable(expression));
      if (codeBlock == null) return;
      deferVariable(codeBlock, variable, null, updater);
    }
    else {
      PsiElement outerCodeBlock = PsiUtil.getVariableCodeBlock(variable, null);
      deferVariable(outerCodeBlock, variable, variable.getParent(), updater);
    }
  }
@Override
  protected void invoke(@NotNull ActionContext context, @NotNull PsiVariable variable, @NotNull ModPsiUpdater updater)