src/share/classes/javax/swing/tree/DefaultMutableTreeNode.java

Print this page

        

@@ -1306,11 +1306,11 @@
         if(tValues.length > 0 && tValues[0].equals("userObject"))
             userObject = tValues[1];
     }
 
     private final class PreorderEnumeration implements Enumeration<TreeNode> {
-        private final Stack<Enumeration<TreeNode>> stack = new Stack<>();
+        private final Stack<Enumeration<? extends TreeNode>> stack = new Stack<>();
 
         public PreorderEnumeration(TreeNode rootNode) {
             super();
             Vector<TreeNode> v = new Vector<TreeNode>(1);
             v.addElement(rootNode);     // PENDING: don't really need a vector

@@ -1320,14 +1320,13 @@
         public boolean hasMoreElements() {
             return (!stack.empty() && stack.peek().hasMoreElements());
         }
 
         public TreeNode nextElement() {
-            Enumeration<TreeNode> enumer = stack.peek();
+            Enumeration<? extends TreeNode> enumer = stack.peek();
             TreeNode    node = enumer.nextElement();
-            @SuppressWarnings("unchecked")
-            Enumeration<TreeNode> children = node.children();
+            Enumeration<? extends TreeNode> children = node.children();
 
             if (!enumer.hasMoreElements()) {
                 stack.pop();
             }
             if (children.hasMoreElements()) {

@@ -1340,11 +1339,11 @@
 
 
 
     final class PostorderEnumeration implements Enumeration<TreeNode> {
         protected TreeNode root;
-        protected Enumeration<TreeNode> children;
+        protected Enumeration<? extends TreeNode> children;
         protected Enumeration<TreeNode> subtree;
 
         public PostorderEnumeration(TreeNode rootNode) {
             super();
             root = rootNode;