public static SegmentedCollection <TSource> ToSegmentedCollection <TSource>(this IEnumerable <TSource> source, int segmentSize)
    {
        var collection = new SegmentedCollection <TSource>(segmentSize);

        collection.Add(source);
        return(collection);
    }