 
     public let frame : CGRect
     private let config : QuadTreeConfig
+    public var subnodes : [QuadTreeNode]?
 
 //    var topLeft : QuadTreeNode?
 //    var topRight : QuadTreeNode?
 //    var bottomLeft : QuadTreeNode?
 //    var bottomRight : QuadTreeNode?
-
-    public var subnodes : [QuadTreeNode]?
 
     // Optional because this can be nil-ed out later.
     public lazy var items : [Item]? = []

        assert(self.frame.intersects(rect))
        return self.rootNode.objectsInRect(rect)
    }
    
//    func dump() {
//
//        let walker = Walker <QuadTreeNode <T>> () {
//            return $0.subnodes
//        }
//
//        walker.walk(self.rootNode) {
//            node, depth in
//            let filler = String(count:Int(depth), repeatedValue:Character(" "))
//            println("\(filler)\(node)")
//        }
//    }
}

public class QuadTreeNode <T> {

            return nil
        }
    }
}
