private void dumpActionMap( PrintWriter out, ActionMap actionMap, String indent ) {
		if( indent == null )
			indent = "    ";

		out.printf( "%-2d      %s", actionMap.size(), dumpClass( actionMap ) );

		Object[] keys = actionMap.keys();
		if( keys != null ) {
			Arrays.sort( keys, (key1, key2) -> {
				return String.valueOf( key1 ).compareTo( String.valueOf( key2 ) );
			} );
			for( Object key : keys ) {
				Action action = actionMap.get( key );
				out.printf( "%n%s%-35s  %s", indent, key, action.getClass().getName() );

				Object name = action.getValue( Action.NAME );
				if( !Objects.equals( name, key ) )
					out.printf( " (%s)", name );
			}
		}

		ActionMap parent = actionMap.getParent();
		if( parent != null ) {
			out.printf( "%n%n%s", indent );
			dumpActionMap( out, parent, indent + "    " );
		}
	}
Dumps look and feel UI defaults to files.

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