Geiger Ho's patch for better subclassing
diff --git a/Lib/idlelib/TreeWidget.py b/Lib/idlelib/TreeWidget.py
index 60eefdc..ebc7be0 100644
--- a/Lib/idlelib/TreeWidget.py
+++ b/Lib/idlelib/TreeWidget.py
@@ -187,7 +187,7 @@
                 # _IsExpandable() was mistaken; that's allowed
                 return y+17
             for item in sublist:
-                child = TreeNode(self.canvas, self, item)
+                child = self.__class__(self.canvas, self, item)
                 self.children.append(child)
         cx = x+20
         cy = y+17