else if (property.equals(JTree.EDITABLE_PROPERTY)) setEditable(((Boolean) event.getNewValue()).booleanValue());
    public void propertyChange(PropertyChangeEvent event)    {      String property = event.getPropertyName();      if (property.equals(JTree.ROOT_VISIBLE_PROPERTY))        {          validCachedPreferredSize = false;          treeState.setRootVisible(tree.isRootVisible());          tree.repaint();        }      else if (property.equals(JTree.SELECTION_MODEL_PROPERTY))        {          treeSelectionModel = tree.getSelectionModel();          treeSelectionModel.setRowMapper(treeState);        }      else if (property.equals(JTree.TREE_MODEL_PROPERTY))        {          setModel(tree.getModel());        }      else if (property.equals(JTree.CELL_RENDERER_PROPERTY))        {          setCellRenderer(tree.getCellRenderer());          // Update layout.          if (treeState != null)            treeState.invalidateSizes();        }    }