void updateVisualPosition() {
    updateCachedStateIfNeeded();
    VerticalInfo oldVerticalInfo = myVerticalInfo;
    myLogicalCaret = new LogicalPosition(myLogicalCaret.line, myLogicalCaret.column, myLogicalCaret.leansForward);
    VisualPosition visualPosition = myEditor.logicalToVisualPosition(myLogicalCaret);
    myVisibleCaret = new VisualPosition(visualPosition.line, visualPosition.column + myVisualColumnAdjustment, visualPosition.leansRight);
    updateVisualLineInfo();

    myEditor.updateCaretCursor();
    requestRepaint(oldVerticalInfo);
  }
void updateVisualPosition()