Assuming that it smallEnumerableis a collection with 7-8 elements, each of which has a property SubItemsthat is itself enumerable for elements of the same type, then you smooth out the following:
var flattened = smallEnumerable.SelectMany(s => s.SubItems);
SubItems SubItems , :
IEnumerable<MyType> RecursiveFlatten(IEnumerable<MyType> collection)
{
return collection.SelectMany(
s => s.SubItems.Any() ? s.Concat(RecursiveFlatten(s.SubItems)) : s);
}