protected function parse(KalturaBatchJob $job, KalturaParseCaptionAssetJobData $data)
 {
     try {
         $this->updateJob($job, "Start parsing caption asset [{$data->captionAssetId}]", KalturaBatchJobStatus::QUEUED);
         $captionSearchPlugin = KalturaCaptionSearchClientPlugin::get(self::$kClient);
         $captionSearchPlugin->captionAssetItem->parse($data->captionAssetId);
         $this->closeJob($job, null, null, "Finished parsing", KalturaBatchJobStatus::FINISHED);
     } catch (Exception $ex) {
         $this->closeJob($job, KalturaBatchJobErrorTypes::RUNTIME, $ex->getCode(), "Error: " . $ex->getMessage(), KalturaBatchJobStatus::FAILED, $data);
     }
     return $job;
 }
 /**
  * @return KalturaCaptionSearchClientPlugin
  */
 public static function get(KalturaClient $client)
 {
     if (!self::$instance) {
         self::$instance = new KalturaCaptionSearchClientPlugin($client);
     }
     return self::$instance;
 }