     open func insertSectionItems(_ sectionItems: [TableViewSectionItemProtocol],
                                  atIndexes indexes: IndexSet,
                                  withRowAnimation animation: UITableViewRowAnimation) {
-        precondition(indexes.first! <= self._sectionItems.count, "It's impossible to insert item at index that is larger than count of section items")
+        precondition(indexes.first! <= _sectionItems.count, "It's impossible to insert item at index that is larger than count of section items")
         sectionItems.forEach { registerSectionItem($0) }
         
         tableView.update {
-            self._sectionItems.insert(sectionItems, at: indexes)
+            _sectionItems.insert(sectionItems, at: indexes)
             tableView.insertSections(indexes, with: animation)
         }
     }

    open func removeSectionItems(at indexes: IndexSet,
                                 withRowAnimation animation: UITableViewRowAnimation) {
        tableView.update {
            self._sectionItems.remove(at: indexes)
            tableView.deleteSections(indexes, with: animation)
        }
    }

    ///
    /// - 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 = _sectionItems.first,
            let cellItem = sectionItem.cellItems.first else {
                return
        }
