@Override
	public void uninitialize() {
		// do not uninitialize if this is not the current look and feel
		if( UIManager.getLookAndFeel() != this )
			return;

		// remove desktop property listener
		if( desktopPropertyListener != null ) {
			Toolkit toolkit = Toolkit.getDefaultToolkit();
			toolkit.removePropertyChangeListener( desktopPropertyName, desktopPropertyListener );
			if( desktopPropertyName2 != null )
				toolkit.removePropertyChangeListener( desktopPropertyName2, desktopPropertyListener );
			toolkit.removePropertyChangeListener( DESKTOPFONTHINTS, desktopPropertyListener );
			desktopPropertyName = null;
			desktopPropertyName2 = null;
			desktopPropertyListener = null;
		}

		// uninstall popup factory
		if( oldPopupFactory != null ) {
			PopupFactory.setSharedInstance( oldPopupFactory );
			oldPopupFactory = null;
		}

		// uninstall mnemonic handler
		if( mnemonicHandler != null ) {
			mnemonicHandler.uninstall();
			mnemonicHandler = null;
		}

		// uninstall submenu usability helper
		if( subMenuUsabilityHelperInstalled ) {
			SubMenuUsabilityHelper.uninstall();
			subMenuUsabilityHelperInstalled = false;
		}

		// uninstall Linux popup menu canceler
		if( linuxPopupMenuCanceler != null ) {
			linuxPopupMenuCanceler.uninstall();
			linuxPopupMenuCanceler = null;
		}

		// restore default link color
		new HTMLEditorKit().getStyleSheet().addRule( "a, address { color: blue; }" );
		postInitialization = null;

		super.uninitialize();
	}
Returns whether FlatLaf supports custom window decorations.
This depends on the operating system and on the used Java runtime.
<p>
This method returns {@code true} on Windows 10/11 (see exception below)
and on Linux, otherwise returns {@code false}.
<p>
Returns also {@code false} on Windows 10/11 if
FlatLaf native window border support is available (requires Windows 10/11).
<p>
In these cases, custom decorations are enabled by the root pane.
Usage of {@link JFrame#setDefaultLookAndFeelDecorated(boolean)} or
{@link JDialog#setDefaultLookAndFeelDecorated(boolean)} is not necessary.
flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java