     func intersects(node other: BVH, callback: (Int, Int) -> Void) {
         let inodecount1 = self.inodeCount
         let inodecount2 = other.inodeCount
-        guard let boxes1 = self.boundingBoxes, let boxes2 = other.boundingBoxes else {
-            return
-        }
+        let boxes1 = self.boundingBoxes
+        let boxes2 = other.boundingBoxes
         func intersects(index1: Int, index2: Int, callback: (Int, Int) -> Void) {
             guard boxes1[index1].overlaps(boxes2[index2]) else {
                 return // nothing to do

            }
        }
        func intersects(index1: Int, index2: Int, callback: (Int, Int) -> Void) {
            guard boxes[index1].overlaps(boxes[index2]) else {
                return // nothing to do
            }
            let leaf1 = index1 >= inodecount

            lastRowIndex += 1
        }
        self.lastRowIndex = lastRowIndex
        
        for i in 0..<leafBoxes.count {
            let nodeIndex = i+self.inodeCount
