@Override
    public void executeWriteAction(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext) {
      EditorUIUtil.hideCursorInEditor(editor);
      CommandProcessor.getInstance().setCurrentCommandGroupId(EditorActionUtil.DELETE_COMMAND_GROUP);
      if (editor instanceof EditorWindow) {
        // manipulate actual document/editor instead of injected
        // since the latter have trouble finding the right location of caret movement in the case of multi-shred injected fragments
        editor = ((EditorWindow)editor).getDelegate();
      }
      doBackSpaceAtCaret(editor);
    }
@Override
    public void executeWriteAction(@NotNull Editor editor, @NotNull Caret caret, DataContext dataContext)