@Override
		public void customize( UIDefaults defaults ) {
			// do nothing in other Lafs if (wrongly) registered with LookAndFeelFactory.addUIDefaultsCustomizer()
			if( !(UIManager.getLookAndFeel() instanceof FlatLaf) )
				return;

			if( jideDefaults != null ) {
				defaults.putAll( jideDefaults );
				jideDefaults = null;
			}

			// painter
			UIDefaultsLookup.put( defaults, "Theme.painter", FlatJidePainter.getInstance() );

			// avoid that JideButton and JideSplitButton shift icon on hover/selection
			defaults.put( "Icon.floating", false );

			// fonts
			ActiveValue font = FlatLaf.createActiveFontValue( 1f );
			defaults.put( "JideButton.font", font );
			defaults.put( "JideLabel.font", font );
			defaults.put( "JideSplitButton.font", font );
			defaults.put( "JideTabbedPane.font", font );
			defaults.put( "JideTabbedPane.selectedTabFont", font );

			// reset standard fonts modified by LookAndFeelFactory.installJideExtension()
			defaults.put( "FormattedTextField.font", font );
			defaults.put( "Spinner.font", font );
			defaults.put( "TextArea.font", font );

			// TristateCheckBox
			defaults.put( "TristateCheckBox.icon", null );
		}
Because JIDE overwrites our UI defaults (from properties files) with its
own UI defaults, we have to first remember our UI defaults in the initializer
(invoked before JIDE overwrites UI defaults) and then restore them in the customizer.
<p>
Do not register this class yourself with JIDE.
It is automatically registered.
<p>
Invoked from {@link LookAndFeelFactory#installJideExtension()}.
flatlaf-jide-oss/src/main/java/com/formdev/flatlaf/jideoss/FlatJideOssDefaultsAddon.java