@Override
  public @Nullable Caret getCaretAt(@NotNull VisualPosition pos) {
    LogicalPosition hostPos = myEditorWindow.injectedToHost(myEditorWindow.visualToLogicalPosition(pos));
    Caret caret = myDelegate.getCaretAt(myHostEditor.logicalToVisualPosition(hostPos));
    return caret == null ? null : createInjectedCaret(caret);
  }
@Override
  public @Nullable Caret getCaretAt(@NotNull VisualPosition pos)