                 }
             }
         }
-
-        return indexesToPlace
-    }
-
-    func findCellsToRemoveForScrollDirection(direction: SZTableViewScrollDirection,
-                                             andBorderIndexes newBorderIndexes: SZBorderIndexes) -> [SZIndexPath]
-    {
-        var indexesToRemove = [SZIndexPath]()
-        
-        for z in 0...1 { // 0 - for columns, 1 - for rows
-            
-            let mainItem        = z==0 ? borderIndexes.column : borderIndexes.row
-            let oppositeItem    = z==0 ? borderIndexes.row : borderIndexes.column
-            let newMainItem     = z==0 ? newBorderIndexes.column : newBorderIndexes.row
-            let newOppositeItem = z==0 ? newBorderIndexes.row : newBorderIndexes.column
-            let scrollDirectionToHandle = z==0 ? scrollDirection.horizontal : scrollDirection.vertical
-
-            if scrollDirectionToHandle == SZScrollDirection.FromMinToMax {
-                if mainItem.maxIndex < newMainItem.maxIndex {
-                    for mainIndex in mainItem.maxIndex ..< newMainItem.maxIndex {
-                        for oppositeIndex in newOppositeItem.minIndex ... newOppositeItem.maxIndex {
-                            let columnIndex = z==0 ? mainIndex : oppositeIndex
-                            let rowIndex    = z==0 ? oppositeIndex : mainIndex
-                            indexesToRemove.append(SZIndexPath(rowSectionIndex: 0,
-                                columnSectionIndex: 0,
-                                rowIndex: rowIndex,
-                                columnIndex: columnIndex))
-                        }
-                    }
-                }
-            }
-            else if scrollDirectionToHandle == SZScrollDirection.FromMaxToMin {
-                if mainItem.minIndex < newMainItem.minIndex {
-                    for mainIndex in mainItem.minIndex ..< newMainItem.minIndex {
-                        for oppositeIndex in newOppositeItem.minIndex ... newOppositeItem.maxIndex {
-                            let columnIndex = z==0 ? mainIndex : oppositeIndex
-                            let rowIndex    = z==0 ? oppositeIndex : mainIndex
-                            indexesToRemove.append(SZIndexPath(rowSectionIndex: 0,
-                                columnSectionIndex: 0,
-                                rowIndex: rowIndex,
-                                columnIndex: columnIndex))
-                        }
-                    }
-                }
-            }
-        }
-
-        return indexesToRemove
-    }
-}
+        
+        return indexes
+    }
+}

                }
            }
            else if scrollDirectionToHandle == SZScrollDirection.FromMaxToMin {
                if mainItem.minIndex <= newMainItem.minIndex {
                    for mainIndex in mainItem.minIndex ... newMainItem.minIndex {
                        for oppositeIndex in newOppositeItem.minIndex ... newOppositeItem.maxIndex {
                            let columnIndex = z==0 ? mainIndex : oppositeIndex
                            let rowIndex    = z==0 ? oppositeIndex : mainIndex
                            indexesToPlace.append(SZIndexPath(rowSectionIndex: 0,
                                columnSectionIndex: 0,
                                rowIndex: rowIndex,
                                columnIndex: columnIndex))

            let scrollDirectionToHandle = z==0 ? scrollDirection.horizontal : scrollDirection.vertical
            
            if scrollDirectionToHandle == SZScrollDirection.FromMinToMax {
                let maxIndexValue = operation == .Place ? newMainItem.maxIndex + 1 : newMainItem.maxIndex
                if mainItem.maxIndex < maxIndexValue {
                    for mainIndex in mainItem.maxIndex ... newMainItem.maxIndex {
                        for oppositeIndex in newOppositeItem.minIndex ... newOppositeItem.maxIndex {
                            let columnIndex = z==0 ? mainIndex : oppositeIndex
                            let rowIndex    = z==0 ? oppositeIndex : mainIndex
                            indexes.append(SZIndexPath(rowSectionIndex: 0,
                                columnSectionIndex: 0,
                                rowIndex: rowIndex,
                                columnIndex: columnIndex))
