         didSet {
             if isPrefetchingEnabled {
                 if #available(iOS 10.0, *) {
-                    self.tableView.prefetchDataSource = self
+                    tableView.prefetchDataSource = self
                 }
                 else {
                     fatalError("Prefetching allowed only on iOS versions greater than or equal to 10.0")

    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")
        sectionItems.forEach { registerSectionItem($0) }
        
        tableView.update {

    ///   - animation: A constant that indicates how the insertion is to be animated, for example, fade in or slide in from the left. See UITableViewRowAnimation for descriptions of these constants.
    open func appendSectionItems(_ sectionItems: [TableViewSectionItemProtocol],
                                 withRowAnimation animation: UITableViewRowAnimation) {
        let count = sectionItems.count
        let indexSet = IndexSet(integersIn: count...(count + sectionItems.count - 1))
        insertSectionItems(sectionItems, atIndexes: indexSet, withRowAnimation: animation)
    }
