/**
  * @param CarewEvent $event
  */
 public function onIndexes(CarewEvent $event)
 {
     /** @var array|Document[] $index */
     $indexes = $event->getSubject();
     $docs = $this->getDocumentsFromIndexes($indexes);
     foreach ($docs as $doc) {
         $data = $doc->getMetadatas();
         if (isset($data['author'])) {
             $author = $this->authors->getAuthor($data['author']);
             $author->addDocument($doc);
             $data['author'] = $author;
             $doc->setMetadatas($data);
         }
     }
     $authorsEvent = new CarewEvent(array());
     $event->getDispatcher()->dispatch(AuthorEvents::AUTHORS, $authorsEvent);
     $event->setSubject(array_merge($indexes, $authorsEvent->getSubject()));
 }
 /**
  * @expectedException \InvalidArgumentException
  */
 public function testGetUnkownAuthor()
 {
     $this->registry->getAuthor('test');
 }