title: Dynamically cross-join multiple different-size collections together in Linq (C#)
body: <p>I have an unknown number of buckets(collections), and each bucket having an unknown number of entities</p>
  
  <p>I need to produce a cartesian product of all the entities, so that I endup with a single COLLECTION that has ARRAYS of entities and in each array, there is 1 representetive from EVERY bucket.</p>
  
  <p>So that if I have 5 buckets (B1..B5), and buckets B1, B2 have 1 item each, and bucket B3, B4 and B5 have 4, 8 and 10 items each, I'll have a collection of 320 arrays, and each array will have 5 items.</p>
  
  <p>The only stupud issue here, is that both size of buckets and number of buckets is unknown at development time.</p>
  
  <p>Performance is not super important here, as most of the time, my buckets will have only 1 entity, and only rarely will there be times when some of my buckets will contain 20-30 items...and I'll usually have 5-30 buckets</p>
  
  <p>I'd love to utilize linq here in someway, but my brain is getting fried as I try to imagine how this would work</p>