         return tableView.rectForRow(at: indexPath)
     }
     
+    /// Scrolls through the table view until a row, associated with passed cell item is at a particular location on the screen.
+    /// Invoking this method does not cause the delegate to receive a scrollViewDidScroll(_:) message, as is normal for programmatically invoked user interface operations.
+    ///
+    /// - Parameters:
+    ///   - cellItem: `TableViewCellItemProtocol` object, that responds for configuration of cell at the specified index path.
+    ///   - sectionItem: `TableViewSectionItemProtocol` object, that contains passed cell item
+    ///   - scrollPosition: A constant that identifies a relative position in the table view (top, middle, bottom) for row when scrolling concludes. See UITableViewScrollPosition for descriptions of valid constants.
+    ///   - animated: true if you want to animate the change in position; false if it should be immediate.
     public func scrollToCellItem(_ cellItem: TableViewCellItemProtocol,
                                  inSectionItem sectionItem: TableViewSectionItemProtocol,
                                  atScrollPosition scrollPosition: UITableViewScrollPosition,

        insertSectionItems(sectionItems, atIndexes: indexSet, withRowAnimation: animation)
    }
    
    /// Replaces one or more section items, with an option to animate the replacion. Don't need to call `beginUpdates()` and `endUpdates() `methods.
    ///
    /// - Parameters:
    ///   - indexes: An index set that specifies the sections to replace in the table view.

    
    // MARK: Helpers
    
    /// Returns the cell item at the specified index path.
    ///
    /// - 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.
    public func cellItem(for indexPath: IndexPath) -> TableViewCellItemProtocol? {
        if let cellItems = self.sectionItem(for: indexPath)?.cellItems {
            if indexPath.row < cellItems.count {
