@Override
  public void runForEachCaret(final @NotNull CaretAction action, boolean reverseOrder) {
    myDelegate.runForEachCaret(caret -> action.perform(createInjectedCaret(caret)), reverseOrder);
  }
@Override
  public void runForEachCaret(final @NotNull CaretAction action, boolean reverseOrder)