void (TreeModelEvent e) { TreePath parentPath = e.getTreePath(); if (Boolean.TRUE.equals(ComponentUtil.getClientProperty(tree, STRUCTURE_VIEW_STATE_RESTORED_KEY))) return; if (parentPath == null || parentPath.getPathCount() > autoExpandDepth.asInteger() - 1) return; Object[] children = e.getChildren(); if (smartExpand && children.length == 1) { expandLater(parentPath, children[0]); } else { for (Object o : children) { NodeDescriptor<?> descriptor = TreeUtil.getUserObject(NodeDescriptor.class, o); if (descriptor != null && isAutoExpandNode(descriptor)) { expandLater(parentPath, o); } } } }