Index: src/main/java/common/javax/swing/JTree.java =================================================================== --- src/main/java/common/javax/swing/JTree.java (revision 505242) +++ src/main/java/common/javax/swing/JTree.java (working copy) @@ -997,9 +997,11 @@ public Enumeration getExpandedDescendants(TreePath parent) { final Enumeration toggled = getDescendantToggledPaths(parent); - if (toggled == null) { - return null; - } + + if (toggled == null || !isExpanded(parent)) { + return null; + } + return new Enumeration() { private TreePath nextElement = getNextExpandedPath(); @@ -1018,7 +1020,8 @@ private TreePath getNextExpandedPath() { while (toggled.hasMoreElements()) { - TreePath nextPath = toggled.nextElement(); + TreePath nextPath = toggled.nextElement(); + if (isExpanded(nextPath)) { return nextPath; }