         for sectionIndex in startSectionIndex..<cellCache.count {
             if let validSection = cellCache[sectionIndex] where validSection.count > 0 {
                 // Add header view attributes
-                
-                var interceptCount: Int  = 0
                 if headerViewXibs.count > 0 {
-                    if CGRectIntersectsRect(headerCache[sectionIndex].frame, rect) {
-                        attributes.append(headerCache[sectionIndex])
-                    }
+                    if CGRectIntersectsRect(headerCache[sectionIndex].frame, rect) { attributes.append(headerCache[sectionIndex]) }
                 }
                 
                 for val in validSection {

    }
    
    func sizeOfSection(section: Int)-> CGFloat {
        var size = CGSizeZero
        let headerSizeOfPreviousSection = headerCache[section].frame.height
        
        let itemSectionSizeOfPreviousSection = cellCache[section]![0].frame.height * CGFloat(numberOfRows)
        if scrollDirection == .Horizontal {
                return cellCache[section]![0].frame.width * CGFloat(numberOfColumns)
        } else {
            return cellCache[section]![0].frame.height * CGFloat(numberOfRows) + headerSizeOfPreviousSection
        }

                        attributes.append(val)
                    } else {
                        missCount += 1
                        if missCount > maxMissCount && beganIntercepting { break }// If there are at least 8 misses in a row since intercepting began, then this section has no more interceptions. So break
                    }
                }
                if missCount > maxMissCount && beganIntercepting { break }// Also break from outter loop
            }
        }
        return attributes
