         }
     }
     
-    public func sectionsCount() -> Int {
+    open func sectionsCount() -> Int {
         return sections.count
     }
     

            collectionView?.register(nib, forCellWithReuseIdentifier: cellData.identifier)
        }
    }
    
    fileprivate var lock:Bool = false // alow or disallow updating datas
    fileprivate var result:UpdateCollectionResult!

    public var removedCellDescriptors = [VSCollectionCellDescriptor]()
   
    public var appenedSectionsIndexSet = IndexSet()
    //TODO: add appenedSectionsDescriptor
    public var removedSectionsIndexSet = IndexSet()
    //TODO: add removedSectionsDescriptor
}

fileprivate struct CellData: Hashable {
