         
         let nFirstIP = self.indexPathForFirstVisibleItem()
         if nFirstIP != firstIP, let ip = firstIP, let rect = self.collectionViewLayout.scrollRectForItemAtIndexPath(ip, atPosition: CBCollectionViewScrollPosition.Top) {
-//            self.scrollToRect(rect, atPosition: .Top, animated: false)
+            self.scrollToRect(rect, atPosition: .Top, animated: false)
         }
         self.contentDocumentView.prepareRect(self.contentVisibleRect)
     }

    // discard the dataSource and delegate data and requery as necessary
    public func reloadData() {
        self.contentDocumentView.reset()
//        self._reusableCells.removeAll()
//        self._reusableSupplementaryView.removeAll()
        
        self.info.recalculate()
        contentDocumentView.frame.size = self.info.contentSize
        self.contentDocumentView.prepareRect(self.contentVisibleRect)

        
//        return
        let firstIP = indexPathForFirstVisibleItem()
        var refFrame : CGRect = CGRectZero
        var refVisibleFrame : CGRect = CGRectZero
        if firstIP != nil, let cell = cellForItemAtIndexPath(firstIP!) {
            refFrame = cell.frame
            refVisibleFrame = self.convertRect(cell.frame, fromView: self.contentDocumentView)
        }
        self.info.recalculate()
        let nContentSize = self.info.contentSize
        contentDocumentView.frame.size = nContentSize
        
        if firstIP != nil, let attrs = self.collectionViewLayout.layoutAttributesForItemAtIndexPath(firstIP!) {
            var nRef = self.convertRect(attrs.frame, fromView: self.contentDocumentView)
            nRef.origin.y -= refVisibleFrame.origin.y
            nRef = self.convertRect(nRef, toView: self.contentDocumentView)
            self.scrollToRect(nRef, atPosition: .Top, animated: false)
        }
        
        self.contentDocumentView.prepareRect(self.contentVisibleRect, force: true)
        
        
        return
        
        if animated {
