void repaintCarets() {
    EditorImpl editor = myView.getEditor();
    EditorImpl.CaretRectangle[] locations = editor.getCaretLocations(false);
    if (locations == null) return;
    int caretHeight = myView.getCaretHeight();
    int topOverhang = editor.getSettings().isFullLineHeightCursor() ? 0 : myView.getTopOverhang();
    for (EditorImpl.CaretRectangle location : locations) {
      float x = (float)location.myPoint.getX();
      int y = (int)location.myPoint.getY() - topOverhang;
      float width = location.myWidth + CARET_DIRECTION_MARK_SIZE;
      int xStart = (int)Math.floor(x - width);
      int xEnd = (int)Math.ceil(x + width);
      editor.getContentComponent().repaint(xStart, y, xEnd - xStart, caretHeight);
    }
  }
void repaintCarets()