     }
     
     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)
+            return cellCache[section]![0].frame.width * CGFloat(numberOfColumns)
         } else {
             return cellCache[section]![0].frame.height * CGFloat(numberOfRows) + headerSizeOfPreviousSection
         }

        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])
                    }
                }
                
                for val in validSection {

        let headerSize = cachedHeaderSizeForSection(indexPath.section)
        var strideOffset: CGFloat = 0
        if indexPath.section > 0 {
            var headerSizeOfPreviousSection: CGFloat
            var itemSectionSizeOfPreviousSection: CGFloat
            
