@Override
		public void fill( Shape shape ) {
			if( shape instanceof Rectangle2D ) {
				Rectangle2D r = (Rectangle2D) shape;
				double x = r.getX();
				double y = r.getY();
				double width = r.getWidth();
				double height = r.getHeight();
				if( x == (int) x && y == (int) y && width == (int) width && height == (int) height ) {
					if( fillCellSelection( (int) x, (int) y, (int) width, (int) height ) )
						return;
				}
			}

			super.fill( shape );
		}
Because selection painting is done in the cell renderer, it would be
necessary to require a FlatLaf specific renderer to implement rounded selection.
Using a LaF specific renderer was avoided because often a custom renderer is
already used in applications. Then either the rounded selection is not used,
or the application has to be changed to extend a FlatLaf renderer.
<p>
To solve this, a graphics proxy is used that paints rounded selection
if row/column/cell is selected and the renderer wants to fill the background.
flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatTableUI.java