private static IEnumerable <TSource> OrderBy <TSource>(IEnumerable <TSource> source, ICollection <Comparison <TSource> > comparisons)
        {
            var _result = EnumerableUtil.ToList(source);

            _result.Sort((x, y) => {
                foreach (var _comparison in comparisons)
                {
                    var _order = _comparison(x, y);
                    if (_order != 0)
                    {
                        return(_order);
                    }
                }
                return(0);
            });
            return(_result);
        }
 public static TSource[] ToArray <TSource>(IEnumerable <TSource> source)
 {
     return(EnumerableUtil.ToList(source).ToArray());
 }