internal IEnumerable <InternalUpdateContext> Split(int chunkSize) { List <InternalUpdateContext> splitted = new List <InternalUpdateContext>(); int remaining = Sha.Count(); while (remaining > 0) { string[] chunk = Sha .Skip(Sha.Count() - remaining) .Take(chunkSize) .ToArray(); remaining -= chunk.Length; splitted.Add(new InternalUpdateContext(chunk)); } return(splitted); }