@ApiStatus.Internal
  public void registerEditor(@NotNull EditorEx editor) {
    editor.addEditorMouseListener(myEditorMouseMulticaster.getMulticaster());
    editor.addEditorMouseListener(new EditorMouseListener() {
      @Override
      public void mousePressed(@NotNull EditorMouseEvent event) {
        MOUSE_EP.forEachExtensionSafe(it -> it.mousePressed(event));
      }

      @Override
      public void mouseClicked(@NotNull EditorMouseEvent event) {
        MOUSE_EP.forEachExtensionSafe(it -> it.mouseClicked(event));
      }

      @Override
      public void mouseReleased(@NotNull EditorMouseEvent event) {
        MOUSE_EP.forEachExtensionSafe(it -> it.mouseReleased(event));
      }

      @Override
      public void mouseEntered(@NotNull EditorMouseEvent event) {
        MOUSE_EP.forEachExtensionSafe(it -> it.mouseEntered(event));
      }

      @Override
      public void mouseExited(@NotNull EditorMouseEvent event) {
        MOUSE_EP.forEachExtensionSafe(it -> it.mouseExited(event));
      }
    });

    editor.addEditorMouseMotionListener(myEditorMouseMotionMulticaster.getMulticaster());
    editor.addEditorMouseMotionListener(new EditorMouseMotionListener() {
      @Override
      public void mouseMoved(@NotNull EditorMouseEvent event) {
        MOUSE_MOTION_EP.forEachExtensionSafe(it -> it.mouseMoved(event));
      }

      @Override
      public void mouseDragged(@NotNull EditorMouseEvent event) {
        MOUSE_MOTION_EP.forEachExtensionSafe(it -> it.mouseDragged(event));
      }
    });

    ((EditorMarkupModel) editor.getMarkupModel()).addErrorMarkerListener(myErrorStripeMulticaster.getMulticaster(), ((EditorImpl)editor).getDisposable());
    editor.getCaretModel().addCaretListener(myCaretMulticaster.getMulticaster());
    editor.getSelectionModel().addSelectionListener(mySelectionMulticaster.getMulticaster());
    editor.getScrollingModel().addVisibleAreaListener(myVisibleAreaMulticaster.getMulticaster());
    editor.addPropertyChangeListener(myPropertyChangeMulticaster.getMulticaster());
    editor.addFocusListener(myFocusChangeListenerMulticaster.getMulticaster());
  }
@ApiStatus.Internal
  public void registerEditor(@NotNull EditorEx editor)