code: private function isTrackedFieldModified(AbstractDiffItem $item, ExtractionDescriptorInterface $relation)
      {
          if (!$item instanceof UpdateDiffItem) {
              throw new \InvalidArgumentException('Wrong diff item type. Got: ' . get_class($item));
          }
  
          $trackedFields = $relation->getUpdateFields();
          if (empty($trackedFields)) {
              return true;
          }
  
          $itemRow = $item->getItem();
          $oldItemRow = $item->getOldItem();
  
          foreach (array_keys($trackedFields) as $key) {
              if (array_key_exists($key, $itemRow) && $itemRow[$key] !== $oldItemRow[$key]) {
                  return true;
              }
          }
  
          return false;
      }
docs: Checks whether any of tracked fields has been modified.
  
  @param AbstractDiffItem              $item
  @param ExtractionDescriptorInterface $relation
  
  @return bool
  
  @throws \InvalidArgumentException