private Object fallbackAATextInfo() {
		// do nothing if explicitly overridden
		if( System.getProperty( "awt.useSystemAAFontSettings" ) != null )
			return null;

		Object aaHint = null;
		Integer lcdContrastHint = null;

		if( SystemInfo.isLinux ) {
			// see sun.awt.UNIXToolkit.getDesktopAAHints()
			Toolkit toolkit = Toolkit.getDefaultToolkit();
			if( toolkit.getDesktopProperty( "gnome.Xft/Antialias" ) == null &&
				toolkit.getDesktopProperty( "fontconfig/Antialias" ) == null )
			{
				// no Gnome or KDE Desktop properties available
				// --> enable antialiasing
				aaHint = RenderingHints.VALUE_TEXT_ANTIALIAS_ON;
			}
		}

		if( aaHint == null )
			return null;

		if( SystemInfo.isJava_9_orLater ) {
			Map<Object, Object> hints = new HashMap<>();
			hints.put( RenderingHints.KEY_TEXT_ANTIALIASING, aaHint );
			hints.put( RenderingHints.KEY_TEXT_LCD_CONTRAST, lcdContrastHint );
			return hints;
		} else {
			// Java 8
			try {
				return Class.forName( "sun.swing.SwingUtilities2$AATextInfo" )
					.getConstructor( Object.class, Integer.class )
					.newInstance( aaHint, lcdContrastHint );
			} catch( Exception ex ) {
				LoggingFacade.INSTANCE.logSevere( null, ex );
				throw new RuntimeException( ex );
			}
		}
	}
Handle UI delegate classes if running in special application where multiple class loaders are involved.
E.g. in Eclipse plugin or in LibreOffice extension.
<p>
Problem: Swing runs in Java's system classloader and FlatLaf is loaded in plugin classloader.
When Swing tries to load UI delegate class in {@link UIDefaults#getUIClass(String, ClassLoader)},
invoked from {@link UIDefaults#getUI(JComponent)}, it uses the component's classloader,
which is Java's system classloader for core Swing components,
and can not find FlatLaf UI delegates.
<p>
Solution: Add lazy values for UI delegate class names.
Those lazy values use FlatLaf classloader to load UI delegate class.
This is similar to what {@link UIDefaults#getUIClass(String, ClassLoader)} does.
<p>
Not using {@code defaults.put( "ClassLoader", FlatLaf.class.getClassLoader() )},
which would work for FlatLaf UI delegates, but it would break custom
UI delegates used in other classloaders.
flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java