                 break
             }
         }
-
         return 60
     }
 }


    func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        if let dataSource = view?.dataSource {
            return dataSource.shelfView(view!, viewForHeaderInSection: section)
        }

        return nil
    }

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let view = tableView.dequeueReusableCellWithIdentifier(SectionReuseIdentifier, forIndexPath: indexPath) as SectionView

        // TODO: create only visible cells


        let section = indexPath.section
        if let dataSource = view?.dataSource {
            switch view!.headerPosition {
            case .Embedding:
                switch indexPath.row {
                case 0:
                    return dataSource.shelfView(view!, heightForHeaderInSection: section)
                default:
                    break
                }
            default:
                break
            }
        }
        return _tableView(tableView, heightForRowAtIndexPath: indexPath)
    }

    func _tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        let section = indexPath.section
        if let dataSource = view?.dataSource {
            switch dataSource.shelfView(view!, contentModeForSection: section) {
            case .Horizontal:
                return _horizontal(tableView: tableView, section: section)
