private static void dump( String lookAndFeelClassName, File dir, boolean jide ) {
		System.out.println( "---- "+lookAndFeelClassName+" -------------------------------" );

		try {
			UIManager.setLookAndFeel( lookAndFeelClassName );
			if( jide )
				LookAndFeelFactory.installJideExtension();
		} catch( Exception ex ) {
			ex.printStackTrace();
			return;
		}

		LookAndFeel lookAndFeel = UIManager.getLookAndFeel();
		UIDefaults defaults = UIManager.getLookAndFeelDefaults();

		// make a copy of the defaults because some lazy values are resolved
		// when dumping other values (e.g. in constructor of FlatInternalFrameCloseIcon
		// the lazy color InternalFrame.closeHoverBackground is resolved)
		defaults = (UIDefaults) defaults.clone();

		dump( dir, "", lookAndFeel, defaults, key -> !key.contains( "InputMap" ), true );

		if( lookAndFeel.getClass() == FlatLightLaf.class || !(lookAndFeel instanceof FlatLaf) ) {
			if( SystemInfo.isWindows || SystemInfo.isMacOS )
				dump( dir, "_InputMap", lookAndFeel, defaults, key -> key.contains( "InputMap" ), false );

			if( SystemInfo.isWindows )
				dumpActionMaps( dir, "_ActionMap", lookAndFeel, defaults );
		}

		if( lookAndFeel instanceof IntelliJTheme.ThemeLaf ) {
			File cdir = new File( dir.getPath().replace( "intellijthemes", "intellijthemes-colors" ) );
			dumpColorsToProperties( cdir, lookAndFeel, defaults );

			// dump as .properties
			File pdir = new File( dir.getPath().replace( "intellijthemes", "intellijthemes-properties" ) );
			IJThemesDump.dumpProperties( pdir, lookAndFeel.getClass().getSimpleName(), defaults );
		}
	}
Dumps look and feel UI defaults to files.

@author Karl Tauber
flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java