      - parameter section: The section index.
      */
     fileprivate func collectionViewForSection(_ section: Int) -> UICollectionView? {
-        let tableIndexPath = IndexPath(row: 0, section: section)
-        let collectionViewCell = self.tableView.cellForRow(at: tableIndexPath) as? CollectionViewCell
-        return collectionViewCell?.collectionView
+        return self.collectionViews[section]
     }
     
     /**

extension CollectionTableView: UITableViewDataSource {
    
    public func numberOfSections(in tableView: UITableView) -> Int {
        return self.dataSource?.numberOfSectionsInCollectionSectionedTableView?(self) ?? 1
    }
    
    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let section = indexPath.section
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CollectionViewCell
        self.collectionViews[section] = cell.collectionView
        
        cell.registerNibsAndClassesForIdentifiers(
            self.registeredNibsAndClasses,
