public static IJEnumerable<JToken> DescendantsAndSelf<T>(this IEnumerable<T> source) where T : JContainer
        {
            ValidationUtils.ArgumentNotNull(source, "source");

            return source.SelectMany(j => j.DescendantsAndSelf()).AsJEnumerable();