         var retval = proposedContentOffset
         
         if let focusIndexPath = focusIndexPath {
-            print("path retrieved: \(focusIndexPath)")
+//            print("path retrieved: \(focusIndexPath)")
             if thereAreHeaders {
                 let headerIndexPath = IndexPath(item: 0, section: focusIndexPath.section)
                 if let headerAttr = layoutAttributesForSupplementaryView(ofKind: UICollectionElementKindSectionHeader, at: headerIndexPath) {

        var retval: IndexPath?
        switch direction {
        case .next:
            if let data = cellCache[section]?.last, data.1 == section, data.0 == item {
                retval = IndexPath(item: data.0, section: data.1)
            } else {
                if let data = cellCache[section]?[item + 1] {
                    retval = IndexPath(item: data.0, section: data.1)
                }
            }
        case .previous:
            if item < 1 {
                if let data = cellCache[section - 1]?.last {
                    retval = IndexPath(item: data.0, section: data.1)
                }
            } else {
                if let data = cellCache[section]?[item - 1] {
                    retval = IndexPath(item: data.0, section: data.1)
                }
            }
        default:
            break
        }
        
        return retval
    }


    }
    /// Tells the layout object to update the current layout.
    open override func prepare() {
//        print("prepare called.")
        if !layoutIsReadyToBePrepared { return }
//        print("prepare was re-calculated.")
        
        setupDataFromDelegate()
        
