/// <summary>
        /// Creates a PagedRearchResult.
        /// </summary>
        /// <param name="result"></param>
        /// <param name="factoryDelegate">A pointer to a function that wraps the specified object in a wrapper used for binding.</param>
        public PagedSearchResult(SearchResult result, WrapperFactoryDelegate factoryDelegate)
            : base(result.TotalCount, result.Count)
        {
            _result          = result;
            _factoryDelegate = factoryDelegate;

            WrapItems();
        }
    /// <summary>
    /// Creates a PagedRearchResult.
    /// </summary>
    /// <param name="result"></param>
    /// <param name="factoryDelegate">A pointer to a function that wraps the specified object in a wrapper used for binding.</param>
    public PagedSearchResult(SearchResult result, WrapperFactoryDelegate factoryDelegate)
      : base(result.TotalCount, result.Count)
    {
      _result = result;
      _factoryDelegate = factoryDelegate;

      WrapItems();
    }