public void Run(IEnumerable <object> objs) { var ed = new ConcurrentEntityTableDictionary(TableManager, TopEntity); var nextRowIndex = 0; TableManager.Begin(); objs.AsParallel().ForAll(_ => { run(ed.GetOrNew(Thread.CurrentThread.ManagedThreadId), _, Guid.Empty, Interlocked.Increment(ref nextRowIndex)); (_ as IDataExtractCompleted)?.Completed(); }); TableManager.End(); }