@Override
	protected void paintIcon( Graphics g, int tabPlacement, int tabIndex, Icon icon, Rectangle iconRect, boolean isSelected ) {
		if( icon == null )
			return;

		// clip icon painting (also done in JDK since Java 10)
		Shape oldClip = g.getClip();
		((Graphics2D)g).clip( iconRect );

		// rotate icon if necessary
		AffineTransform oldTransform = rotateGraphics( g, tabPlacement, iconRect );

		// paint icon
		icon.paintIcon( tabPane, g, iconRect.x, iconRect.y );

		if( oldTransform != null )
			((Graphics2D)g).setTransform( oldTransform );
		g.setClip( oldClip );
	}
The content border insets are used to create a separator between tabs and content.
If client property JTabbedPane.hasFullBorder is true, then the content border insets
are also used for the border.
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTabbedPaneUI.java