if (path.getLastPathComponent() instanceof CategoryNode) {
DefaultTreeModel model = (DefaultTreeModel) tree.getModel();
CategoryNode node = (CategoryNode) path.getLastPathComponent();
node.setEnabled(!node.isEnabled());
model.nodeChanged(node);
for (int i = 0; i < node.getChildCount(); i++) {
RuleNode child = (RuleNode) node.getChildAt(i);
if (child.isEnabled() != node.isEnabled()) {
child.setEnabled(node.isEnabled());