internal static IEnumerable <IDataGridItemContainer> GetTemplatedDescendantDataGridItemContainers(this IDataGridItemContainer source)
        {
            if (source == null)
            {
                throw new ArgumentNullException("source");
            }

            var predicate = IDataGridItemContainerExtensions.GetTemplatedDescendantExpandPredicate(source);

            return(IDataGridItemContainerExtensions.GetChildDataGridItemContainers(source, predicate));
        }