public TableViewCell DequeueReusableCell(Type cellType)
        {
            TableViewCell cell = TryGetUsedCellForType(cellType);

            if (cell != null)
            {
                cell.PrepareForReuse();
                return(cell);
            }

            return(null);
        }
        private void RecycleCell(TableViewCell cell)
        {
            Type cellType = cell.GetType();

            TableViewCellList cellList;

            if (!m_reusableCellsLists.TryGetValue(cellType, out cellList))
            {
                cellList = new TableViewCellList();
                m_reusableCellsLists[cellType] = cellList;
            }

            cell.PrepareForReuse();
            cellList.AddLastItem(cell);
        }