         guard let placeholderCell = layoutManager.placeholder(forCellWithReuseIdentifier: NewsViewController.cellReuseIdentifier) as? NewsCollectionViewCell else {
             return estimate
         }
-        let story = stories[indexPath.section]
+        guard let story = story(for: indexPath.section) else {
+            return estimate
+        }
         placeholderCell.layoutMargins = layout.itemLayoutMargins
         placeholderCell.configure(with: story, dataStore: dataStore, theme: theme, layoutOnly: true)
         estimate.height = placeholderCell.sizeThatFits(CGSize(width: columnWidth, height: UIViewNoIntrinsicMetric), apply: false).height

            return nil
        }
        
        let story = stories[indexPath.section]
        guard let previews = story.articlePreviews, index < previews.count else {
            return nil
        }
        

    
    // MARK: - ColumnarCollectionViewLayoutDelegate
    override func collectionView(_ collectionView: UICollectionView, estimatedHeightForHeaderInSection section: Int, forColumnWidth columnWidth: CGFloat) -> ColumnarCollectionViewLayoutHeightEstimate {
        guard section > 0 else {
            return super.collectionView(collectionView, estimatedHeightForHeaderInSection: section, forColumnWidth: columnWidth)
        }
        return ColumnarCollectionViewLayoutHeightEstimate(precalculated: false, height: headerTitle(for: section) == nil ? 0 : 57)
    }
    
