         var section = sections[indexPath.section]
         let measuringCell = section.measuringCell
         let size = section.itemSize
-        configure(cell: measuringCell, at: indexPath, forMeasuring: true)
+        configure(cell: measuringCell, in: section.id, at: indexPath, forMeasuring: true)
         if size.width == .full && size.height == .compressed {
             measuringCell.frame.size.width = collectionView.frame.width
             measuringCell.setNeedsLayout()

    
    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let section = sections[indexPath.section]
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: section.identifier, for: indexPath)
        configure(cell: cell, at: indexPath)
        return cell
    }
    

        let collection = collectionView!
        let updates = {
            let insertAt = self.sections.count
            collection.register(section.cellNib, forCellWithReuseIdentifier: section.cellIdentifier)
            self.sections.append(section)
            collection.insertSections(IndexSet(integer: insertAt))
        }
        collection.performBatchUpdates(updates)
    }
    
    open func configure(cell: UICollectionViewCell, in section: UUID, at indexPath: IndexPath, forMeasuring: Bool = false) {
        
    }
}
