/**
  * @param BatchJob $dbBatchJob
  * @param kImportJobData $data
  * @param BatchJob $twinJob
  * @return BatchJob
  */
 public static function onImportJobFailed(BatchJob $dbBatchJob, kImportJobData $data, BatchJob $twinJob = null)
 {
     $statuses = array(EntryDistributionStatus::IMPORT_SUBMITTING, EntryDistributionStatus::IMPORT_UPDATING);
     $entryDistributions = EntryDistributionPeer::retrieveByEntryAndStatuses($dbBatchJob->getEntryId(), $statuses);
     foreach ($entryDistributions as $entryDistribution) {
         /* @var $entryDistribution EntryDistribution */
         if ($entryDistribution->getStatus() == EntryDistributionStatus::IMPORT_SUBMITTING) {
             $entryDistribution->setStatus(EntryDistributionStatus::ERROR_SUBMITTING);
         } elseif ($entryDistribution->getStatus() == EntryDistributionStatus::IMPORT_UPDATING) {
             $entryDistribution->setStatus(EntryDistributionStatus::ERROR_UPDATING);
         }
         $entryDistribution->setErrorType($dbBatchJob->getErrType());
         $entryDistribution->setErrorNumber($dbBatchJob->getErrNumber());
         $entryDistribution->setErrorDescription($dbBatchJob->getMessage());
         $entryDistribution->setDirtyStatus(null);
         $entryDistribution->save();
     }
 }