         }
         
         beginUpdates()
-        reloadSections(IndexSet(integer: section), with: .fade)
+        reloadSections(IndexSet(integer: section), with: animation)
         endUpdates()
         
         let sectionHeaderRect = rectForHeader(inSection: section)

    public weak var expandableTableViewDataSource: LUExpandableTableViewDataSource?
    /// The object that acts as the delegate of the expandable table view
    public weak var expandableTableViewDelegate: LUExpandableTableViewDelegate?
    
    open override var dataSource: UITableViewDataSource? {
        willSet {


extension LUExpandableTableView: UITableViewDataSource {
    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return expandedSections.contains(section) ? (expandableTableViewDataSource?.expandableTableView(self, numberOfRowsInSection: section) ?? 0) : 0
    }
    
    public func numberOfSections(in tableView: UITableView) -> Int {
