void uninstall() {
			window.removePropertyChangeListener( "background", this );

			// restore original window procedure
			if( SystemInfo.isX86_64 )
				User32Ex.INSTANCE.SetWindowLongPtr( hwnd, GWLP_WNDPROC, defaultWndProc );
			else
				User32Ex.INSTANCE.SetWindowLong( hwnd, GWLP_WNDPROC, defaultWndProc );

			// show the OS window title bar
			updateFrame( 0 );

			// cleanup
			if( background != null )
				GDI32.INSTANCE.DeleteObject( background );
			window = null;
		}
Because there may be sent many WM_DWMCOLORIZATIONCOLORCHANGED messages,
slightly delay event firing and fire it only once (on the AWT thread).
flatlaf-natives/flatlaf-natives-jna/src/main/java/com/formdev/flatlaf/natives/jna/windows/FlatWindowsNativeWindowBorder.java