@Override
  public @NotNull List<CaretState> getCaretsAndSelections() {
    return Collections.singletonList(
      new CaretState(myCaret.getLogicalPosition(),
                     0,
                     myEditor.offsetToLogicalPosition(myCaret.getSelectionStart()),
                     myEditor.offsetToLogicalPosition(myCaret.getSelectionEnd()))
    );
  }
@Override
  public @NotNull List<CaretState> getCaretsAndSelections()