redef fun subdivide
	do
		self.center = new Point[Numeric](average_x, average_y)
		children[0] = new DQuadTree[E].with_parent(self.item_limit, self)
		children[1] = new DQuadTree[E].with_parent(self.item_limit, self)
		children[2] = new DQuadTree[E].with_parent(self.item_limit, self)
		children[3] = new DQuadTree[E].with_parent(self.item_limit, self)
	end
					lib/geometry/quadtree.nit:197,2--204,4
				
	redef fun subdivide
	do
		var center = center
		assert center != null
		children[0] = new SQuadTree[E].with_parent(self.item_limit, new Point[Numeric](center.x.div(2), center.y.div(2)), self.width.div(2), self.height.div(2), self)
		children[1] = new SQuadTree[E].with_parent(self.item_limit, new Point[Numeric](center.x.div(2), (center.y.mul(3)).div(2)), self.width.div(2), self.height.div(2), self)
		children[2] = new SQuadTree[E].with_parent(self.item_limit, new Point[Numeric]((center.x.mul(3)).div(2), (center.y.mul(3)).div(2)), self.width.div(2), self.height.div(2), self)
		children[3] = new SQuadTree[E].with_parent(self.item_limit, new Point[Numeric]((center.x.mul(3)).div(2), center.y.div(2)), self.width.div(2), self.height.div(2), self)
	end
					lib/geometry/quadtree.nit:255,2--264,4