protected function _loadErrorsFromWatcher($watcher)
 {
     $watcher->reloadUntilFinish();
     $failed = array();
     $compressedFailed = array();
     foreach ($watcher->eventList as $event) {
         if (@$event->eventData['hasFailures']) {
             if (isset($event->eventData['message']['failed'])) {
                 $failed = array_merge($failed, $event->eventData['message']['failed']);
             } else {
                 if (isset($event->eventData['message']['compressedFailed'])) {
                     foreach ($event->eventData['message']['compressedFailed'] as $key => $err) {
                         $this->_mergeCompressedErrors($compressedFailed, $key, $err);
                     }
                 }
             }
         }
     }
     if (count($compressedFailed)) {
         if (count($failed)) {
             $event = new EventModel();
             $eventData['hasFailures'] = true;
             $eventData['message'] = array('failed' => $failed);
             $event->eventData = $eventData;
             $compressor = new ErrorModelCompressEvent();
             $compressor->setConfigMaxErrorsBeforeCompress(0);
             $compressor->compress($event);
             if (isset($event->eventData['message']['compressedFailed'])) {
                 foreach ($event->eventData['compressedFailed'] as $key => $err) {
                     $this->_mergeCompressedErrors($compressedFailed, $key, $err);
                 }
             }
         }
         return $compressedFailed;
     }
     return $failed;
 }