code: public void propertyChange(PropertyChangeEvent e) {
          super.propertyChange(e);
  
          String propertyName = e.getPropertyName();
  
          if (propertyName == null) {
              return;
          }
  
          if (propertyName.equals("windowDecorationStyle")) {
              JRootPane root  = (JRootPane) e.getSource();
              int       style = root.getWindowDecorationStyle();
  
              // This is potentially more than needs to be done,
              // but it rarely happens and makes the install/uninstall process
              // simpler. AqvavitTitlePane also assumes it will be recreated if
              // the decoration style changes.
              uninstallClientDecorations(root);
              Container parent = root.getParent();
  
              if (parent != null && (parent instanceof JFrame || parent instanceof JDialog) && style != JRootPane.NONE) {
                  installClientDecorations(root);
              }
          } else if (propertyName.equals("ancestor")) {
              uninstallWindowListeners(root);
              installWindowListeners(root, root.getParent());
          } else if (propertyName.equals(UNIFIED_TOOLBAR_LOOK)) {
              updateTextured();
          }
      }
docs: Invoked when a property changes. <code>AqvavitRootPaneUI</code> is
  primarily interested in events originating from the <code>
  JRootPane</code> it has been installed on identifying the property <code>
  windowDecorationStyle</code>. If the <code>windowDecorationStyle</code>
  has changed to a value other than <code>JRootPane.NONE</code>, this will
  add a <code>Component</code> to the <code>JRootPane</code> to render the
  window decorations, as well as installing a <code>Border</code> on the
  <code>JRootPane</code>. On the other hand, if the <code>
  windowDecorationStyle</code> has changed to <code>JRootPane.NONE</code>,
  this will remove the <code>Component</code> that has been added to the
  <code>JRootPane</code> as well resetting the Border to what it was before
  <code>installUI</code> was invoked.
  
  @param e A PropertyChangeEvent object describing the event source and the
  property that has changed.