private IEnumerable <Gallery> finishChunksJob() { Debug.WriteLine("Finishing Thread #" + Thread.CurrentThread.ManagedThreadId + " Started"); ListDownloadProgress(ListDownloadProgressType.FinishingStarted, null); int totalCount = 0; for (var i = 0; i < chunkCnt; i++) { totalCount += chunks[i].Length; } Gallery[] list = new Gallery[totalCount]; int index = 0; for (var i = 0; i < chunkCnt; i++) { Array.Copy(chunks[i], 0, list, index, chunks[i].Length); index += chunks[i].Length; } Debug.WriteLine("Every chunks were added into list"); for (int i = 0; i < list.Length; i++) { list[i].UnNull(); } Debug.WriteLine("Unnulled, Completed and Finished!"); return(list.AsEnumerable()); }