code: public static boolean shouldUpdateStyle(PropertyChangeEvent event) {
          String eName = event.getPropertyName();
  
          if ("name" == eName) {
  
              // Always update on a name change
              return true;
          } else if ("componentOrientation" == eName) {
  
              // Always update on a component orientation change
              return true;
          } else if ("ancestor" == eName && event.getNewValue() != null) {
  
              // Only update on an ancestor change when getting a valid
              // parent and the LookAndFeel wants this.
              LookAndFeel laf = UIManager.getLookAndFeel();
  
              return (laf instanceof SynthLookAndFeel && ((SynthLookAndFeel) laf).shouldUpdateStyleOnAncestorChanged());
          }
          /*
           * Note: The following two Sea Glass based overrides should be
           * refactored to be in the SeaGlass LAF. Due to constraints in an update
           * release, we couldn't actually provide the public API necessary to
           * allow SeaGlassLookAndFeel (a subclass of SynthLookAndFeel) to provide
           * its own rules for shouldUpdateStyle.
           */
          else if ("SeaGlass.Overrides" == eName) {
  
              // Always update when the SeaGlass.Overrides client property has
              // been changed
              return true;
          } else if ("SeaGlass.Overrides.InheritDefaults" == eName) {
  
              // Always update when the SeaGlass.Overrides.InheritDefaults
              // client property has changed
              return true;
          } else if ("JComponent.sizeVariant" == eName) {
  
              // Always update when the JComponent.sizeVariant
              // client property has changed
              return true;
          } else if (eName != null && (eName.startsWith("JButton.") || eName.startsWith("JTextField."))) {
  
              // Always update when an Apple-style variant client property has
              // changed.
              return true;
          }
  
          return false;
      }
docs: Returns true if the Style should be updated in response to the specified
  PropertyChangeEvent. This forwards to <code>
  shouldUpdateStyleOnAncestorChanged</code> as necessary.
  
  @param  event the property change event.
  
  @return {@code true} if the style should be updated as a result of this
  property change, {@code false} otherwise.