fragmentsBoundingBox shouldn't collect all the fragments just to compute the bounding box. It can be more clever than that to avoid allocating all of those fragments.