title: How can i create pagination properly with List<IGrouping<string,Product>>?
body: <p>I've this query that groups all the items via UniqueGroupId</p>
  
  <pre><code>result = ProductList1.Except(productlist3).Union(ProductList2).GroupBy(a =&gt; a.UniqueGroupId).OrderByDescending(a=&gt;a.Key).ToList();
  </code></pre>
  
  <p>it returns a <code>List&lt;IGrouping&lt;string,Product&gt;&gt;</code></p>
  
  <p>It works ok, each product is properly grouped and when it finds an element that has not UniqueGroupId set, it returns back a megagroup with a null key that contains every products that haven't got a proper UniqueGroupId set.</p>
  
  <p>This query results are then given to a View, that display content.</p>
  
  <p>Now, since results are becoming bigger, i would like to implement a pagination in order to display content better, where each group is counted as 1 element of the page, except the group that has Key null, in this, every element of the group should be considered as 1 element.</p>
  
  <p>I would like to use Skip and Take, but obviously the problem is that if i Skip(50) also all the elements contained in Key null are skipped and that is not what i would like to achieve.. </p>
  
  <p>How can i solve this? Thanks</p>