internal CGSize GetSizeForItem(NSIndexPath indexPath)
        {
            if (ItemsViewLayout.EstimatedItemSize.IsEmpty)
            {
                return(ItemsViewLayout.ItemSize);
            }

            if (ItemsSource.IsIndexPathValid(indexPath))
            {
                var item = ItemsSource[indexPath];

                if (item != null && ItemsViewLayout.TryGetCachedCellSize(item, out CGSize size))
                {
                    return(size);
                }
            }

            return(ItemsViewLayout.EstimatedItemSize);
        }