protected override void Add()
 {
     Task.WaitAll(TaskList.ToArray());
     TaskList.Clear();
     if (Queue.Count > 0)
     {
         List <TEntity> list = new List <TEntity>();
         TEntity        entity;
         while (Queue.TryDequeue(out entity))
         {
             list.Add(entity);
         }
         AddEntities(list);
     }
     if (MDRQueue.Count > 0)
     {
         List <MissingDataRecord> list = new List <MissingDataRecord>();
         MissingDataRecord        record;
         while (MDRQueue.TryDequeue(out record))
         {
             list.Add(record);
         }
         AddMissingDataRecords(list);
     }
 }
 protected override void AddMissingDataRecord(MissingDataRecord record)
 {
     MDRQueue.Enqueue(record);
 }