imports System.Collections
imports System.Collections.Generic
dim bigList = Enumerable.Range(0,1000)
dim listOfList = bigList.ToList().ChunkBy(10)
<System.Runtime.CompilerServices.Extension>
Public Function ChunkBy(Of T)(source As List(Of T), chunkSize As Integer) As List(Of List(Of T))
dim listOfList = source.[Select](Function(x, i) New With {Key .Index = i, Key .Value = x}).GroupBy(Function(x) x.Index / chunkSize)
listOfList.Count().Dump()
Return source.[Select](Function(x, i) New With {Key .Index = i, Key .Value = x}).GroupBy(Function(x) x.Index / chunkSize).[Select](Function(x) x.[Select](Function(v) v.Value).ToList()).ToList()