public function assemble(ContextInterface $context)
{
$file = $context->getFile();
$typeMap = $context->getTypeMap();
try {
$file->setUse(ClassMapCollection::class);
$file->setUse(ClassMap::class);
$linefeed = $file::LINE_FEED;
$classMap = $this->assembleClassMap($typeMap, $linefeed, $file->getIndentation());
$code = $this->assembleClassMapCollection($classMap, $linefeed) . $linefeed;
$file->setBody($code);
} catch (\Exception $e) {
throw AssemblerException::fromException($e);
}
}