/// <summary>
        /// Initializes a new instance of the <see cref="PagedEnumerableCount"/> class.
        /// </summary>
        /// <param name="builder">The builder to use for constructing this instance.</param>
        protected PagedEnumerableCount(PagedEnumerableCountBuilder builder)
        {
            if (builder is null)
            {
                throw new System.ArgumentNullException(nameof(builder));
            }

            this.Current = builder.Current;
            this.Total   = builder.Total;
            this.Skipped = builder.CountSkipped;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="PagedEnumerableCount"/> class with default values.
 /// </summary>
 /// <remarks>
 /// Think of this like a default constructor, all properties will have default values and be well formed.
 /// </remarks>
 /// <returns>A new instance of the <see cref="PagedEnumerableCount"/> class with default values.</returns>
 public static PagedEnumerableCount Default()
 {
     return(Create(PagedEnumerableCountBuilder.Create()));
 }
 /// <summary>
 /// Creates a new instance of <see cref="PagedEnumerableCount"/>.
 /// </summary>
 /// <param name="builder">The builder to use for constructing the instance.</param>
 /// <returns>A new instance of <see cref="PagedEnumerableCount"/>.</returns>
 public static PagedEnumerableCount Create(PagedEnumerableCountBuilder builder)
 {
     return(new PagedEnumerableCount(builder));
 }