@SuppressWarnings("GraphicsSetClipInspection")
  private static void drawWithDescription(Graphics2D g,
                                          int x,
                                          int y,
                                          int shiftX,
                                          int lineHeight,
                                          boolean isHovered,
                                          @NotNull EditorImpl editor,
                                          @NotNull String description) {
    EditorColorsScheme scheme = editor.getColorsScheme();
    int rectX = x + JBUIScale.scale(5);
    int rectWidth = HintRenderer.calcWidthInPixels(editor, description, null);

    Shape oldClip = g.getClip();
    g.clip(new Rectangle(0, 0, rectX, Integer.MAX_VALUE));
    draw(g, shiftX, y, lineHeight, isHovered, editor.getColorsScheme());
    g.setClip(oldClip);

    g.clip(new Rectangle(rectX + rectWidth, 0, Integer.MAX_VALUE, Integer.MAX_VALUE));
    draw(g, shiftX, y, lineHeight, isHovered, editor.getColorsScheme());
    g.setClip(oldClip);

    HintRenderer.paintHint(g, editor,
                           new Rectangle(rectX, y, rectWidth, lineHeight),
                           description,
                           scheme.getAttributes(DefaultLanguageHighlighterColors.INLINE_PARAMETER_HINT),
                           scheme.getAttributes(HighlighterColors.TEXT), null);
  }
@SuppressWarnings("GraphicsSetClipInspection")
  private static void drawWithDescription(Graphics2D g,
                                          int x,
                                          int y,
                                          int shiftX,
                                          int lineHeight,
                                          boolean isHovered,
                                          @NotNull EditorImpl editor,
                                          @NotNull String description)