/**
  * @param string $documentName
  * @param string $idKey
  * @return void
  */
 protected function processChangedRecords($documentName, $idKey)
 {
     $destinationName = $this->mapReader->getDocumentMap($documentName, MapInterface::TYPE_SOURCE);
     $items = $this->source->getChangedRecords($documentName, $idKey);
     $sourceDocument = $this->source->getDocument($documentName);
     $destDocument = $this->destination->getDocument($destinationName);
     $recordTransformer = $this->getRecordTransformer($sourceDocument, $destDocument);
     $eavDocumentName = $this->helper->getDestEavDocument();
     $eavDocumentResource = $this->destination->getDocument($eavDocumentName);
     do {
         $destinationRecords = $destDocument->getRecords();
         $destEavCollection = $eavDocumentResource->getRecords();
         $ids = [];
         foreach ($items as $data) {
             echo '.';
             $ids[] = $data[$idKey];
             $this->transformData($data, $sourceDocument, $destDocument, $recordTransformer, $destinationRecords);
             $this->data->migrateAdditionalOrderData($data, $sourceDocument, $destEavCollection);
         }
         $this->destination->updateChangedRecords($destinationName, $destinationRecords);
         $this->destination->updateChangedRecords($eavDocumentName, $destEavCollection);
         $this->markRecordsProcessed($this->source->getDeltaLogName($documentName), $idKey, $ids);
     } while (!empty($items = $this->source->getChangedRecords($documentName, $idKey)));
 }