public function processDocumentDecoration(Document $document)
{
$event = new CarewEvent(array($document));
try {
return $this->eventDispatcher->dispatch(Events::DOCUMENT_DECORATION, $event)->getSubject();
} catch (\Exception $e) {
if ($document->getFile()) {
throw new \LogicException(sprintf('Could not process "%s": "%s".', $document->getFile()->getRelativePathname(), $e->getMessage()), 0, $e);
}
throw new \LogicException(sprintf('Could not process "%s": "%s".', $document->getBody(), $e->getMessage()), 0, $e);
}
}