private ImportParameters PrepareImportParameters(ImportParameters importParameters,
                                                         ImportDataChunk <EntityChunkData> chunk)
        {
            var processedRowIndexes = new HashSet <uint>();

            if (chunk.State == ImportChunkState.InProcess)
            {
                var processedRowResult = _importEntitiesChunksDataProvider.GetProcessedRows(chunk.ChunkId);
                chunk.Data.SuccessProcessedEntityCount   = processedRowResult.Count(i => i.Success == true);
                chunk.Data.ProcessedWithErrorEntityCount = processedRowResult.Count() - chunk.Data.SuccessProcessedEntityCount;
                _successProcessedRowsCount   += (uint)chunk.Data.SuccessProcessedEntityCount;
                _processedWithErrorRowsCount += (uint)chunk.Data.ProcessedWithErrorEntityCount;
                processedRowIndexes.AddRange(processedRowResult.Select(i => (uint)i.RowIndex));
            }
            var chunkEntities = chunk.Data.Entities
                                .Where(e => !processedRowIndexes.Contains(e.RowIndex))
                                .Select(RestoreImportEntity).ToList();
            ImportParameters newImportParameters = importParameters.Clone();

            newImportParameters.ChunkId = chunk.ChunkId;
            newImportParameters.SetEntities(chunkEntities);
            return(newImportParameters);
        }