                     sectionHeadersLayoutAttributes.stretchFactor = fabs(offset)
                     previousStretchFactor = sectionHeadersLayoutAttributes.stretchFactor
                 } else {
-                    // here we need to limit the stretch
+                    // need to limit the stretch
                     sectionFrame.size.height = firsSectionMaximumStretchHeight
                     sectionHeadersLayoutAttributes.stretchFactor = previousStretchFactor
                 }

        let section = sectionHeadersLayoutAttributes.indexPath.section
        var sectionFrame = sectionHeadersLayoutAttributes.frame

        // 1. Let's establish the section boundaries:
        let (minY, maxY) = boundaryMetrics(forSectionAttributes: sectionHeadersLayoutAttributes)
        
        // 2. Let's also determine the height and insets of the first section,
        //    in case it's stretchable or serves as a global header
        let (firstSectionHeight, firstSectionInsets) = firstSectionMetrics()
                                                                                                

}


private extension AKPFlowLayoutAttributes {
    // Determines if element is a section, or is a cell in a section with custom header
    func visibleSectionHeader(sectionsShouldPin: Bool) -> Bool {
        let isHeader = representedElementKind == UICollectionElementKindSectionHeader
        let isCellInPinnedSection = sectionsShouldPin && ( representedElementCategory == .Cell )
