         return cellDescriptors[0][index] as! [String: AnyObject]
     }
     
+    /**
+     This function allows the user to select the current cell. If the cell you want is a custom cell, you can decide 
+     it there. It will return the specific cell of that indexPath
+     
+     - parameter tableView: This is the tableview that you are working and you want to insert into the tableview
+     - parameter indexPath: This is the specific indexPath that you are at.
+     
+     - returns: This method returns the cell.
+     */
     public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
         let actualIndex = visibleRowsInSection[0][indexPath.row]
         let currentCellDescriptor = getCellDescriptorForIndexPath(actualIndex)

        
        return cell
    }
    public func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let indexOfTappedRow = visibleRowsInSection[indexPath.section][indexPath.row]
        

    
    /**
       This method will recieve all the indices of the visible rows in each section. After it revieves all the indices
       it will append to the same array. So after this method is called you will have an array of all the visible
     */
    func getIndicesOfVisibleRows() {
        visibleRowsInSection.removeAll()//To prevent duplicate cells
