Max Depth is not propagated to children in subdivide(). When you call this._classConstructor() you should send both depth and this._maxDepth.