/// <summary> /// Determines whether the object has grandchildren. /// </summary> /// <param name="service"></param> /// <param name="o"></param> /// <returns></returns> public static bool HasGrandchildren <T>(this IHierarchyService <T> service, T o) { ThrowIfInvalidArgs(service, o); return(service.GetChildren(o).Any(c => !service.IsLeaf(c))); }