     ///
     /// - Parameter animated: true if you want to animate the change in position; false if it should be immediate.
     open func scrollToTopAnimated(animated: Bool) {
-        guard let sectionItem = self.sectionItems.first,
+        guard let sectionItem = sectionItems.first,
             let cellItem = sectionItem.cellItems.first else {
                 return
         }

                                 withRowAnimation animation: UITableViewRowAnimation) {
        var indexes = IndexSet()
        for sectionItem in sectionItems {
            let section = self.sectionItems.index(where: {$0 === sectionItem})
            precondition(section != nil, "It's impossible to remove section items that are not contained in section items array")
            indexes.insert(section!)
        }

    /// - Parameter indexPath: The index path locating the row in the table view.
    /// - Returns: An cell item associated with cell of the table, or nil if the cell item wasn't added to manager or indexPath is out of range.
    open func cellItem(for indexPath: IndexPath) -> TableViewCellItemProtocol? {
        if let cellItems = sectionItem(for: indexPath)?.cellItems {
            if indexPath.row < cellItems.count {
                return cellItems[indexPath.row]
            }
