function __construct(KalturaClient $client = null)
 {
     parent::__construct($client);
 }
 protected function syncAssetsContent(KalturaServiceBase $targetClientService, $targetAssetsContent, $targetAssets, $distributedMap, $sourceAssets)
 {
     $distributedMap = empty($distributedMap) ? array() : unserialize($distributedMap);
     foreach ($targetAssetsContent as $sourceAssetId => $targetAssetContent) {
         $targetAssetId = isset($targetAssets[$sourceAssetId]->id) ? $targetAssets[$sourceAssetId]->id : null;
         if (is_null($targetAssetId)) {
             throw new Exception('Missing target id of source asset id [' . $sourceAssetId . ']');
         }
         $currentSourceVersion = isset($sourceAssets[$sourceAssetId]->version) ? $sourceAssets[$sourceAssetId]->version : null;
         $lastDistributedSourceVersion = isset($distributedMap[$sourceAssetId][self::DISTRIBUTED_INFO_SOURCE_VERSION]) ? $distributedMap[$sourceAssetId][self::DISTRIBUTED_INFO_SOURCE_VERSION] : null;
         if (!is_null($currentSourceVersion) && !is_null($lastDistributedSourceVersion) && $currentSourceVersion <= $lastDistributedSourceVersion) {
             KalturaLog::info('No need to update content of source asset id [' . $sourceAssetId . '] target id [' . $targetAssetId . '] since it was not updated since last distribution');
         } else {
             KalturaLog::info('Updating content for source asset id [' . $sourceAssetId . '] target id [' . $targetAssetId . ']');
             $targetClientService->setContent($targetAssetId, $targetAssetContent);
         }
     }
 }