private async Task InsertData <T>(string destination, IEnumerable <T> data, TextWriter statusWriter, int pageCount) where T : Entity
        {
            try
            {
                statusWriter.WriteLine($"Inserting {destination} data for page {pageCount}");
                await _dataStorageService.Insert(destination, data);
            }
            catch (Exception ex)
            {
                var identitifiers = string.Join(",", data?.Select(d => d.Id));

                var exception = new Exception("Error when inserting data", ex);
                exception.Data.Add("destination", destination);
                exception.Data.Add("identitifiers", identitifiers);

                throw exception;
            }
        }