         dataSource.prepareForSizeCalculation(for: brickAttributes, containedIn: width, origin: cellOrigin, invalidate: invalidate, in: self, updatedAttributes: updatedAttributes)
 
         if let brickFrame = oldOriginalFrame where !invalidate {
-            if let customHeight = customHeightProvider?(attributes: brickAttributes) {
-                height = customHeight
-            } else {
-                height = brickFrame.height
-            }
+            height = brickFrame.height
             width = brickFrame.width
         } else {
             let size = dataSource.size(for: brickAttributes, containedIn: width, in: self)

        let downStreamIndexPathsCount = dataSource?.downStreamIndexPaths(in: self).count ?? 0
        let nextIndex = max(0, attributes.count - downStreamIndexPathsCount)

        createOrUpdateCells(from: nextIndex, invalidate: false, updatedAttributes: updatedAttributes, customHeightProvider: nil)
        return true
    }


                }
            } else {
                // create the attribute, so it's available for the behaviors to pick it up
                createOrUpdateAttribute(at: indexPath.item, with: dataSource, x: &x, y: &y, maxY: &maxY, force: true, invalidate: invalidate, frameOfInterest: frameOfInterest, updatedAttributes: updatedAttributes)
            }
        }

