public function assemble(ContextInterface $context)
{
$class = $context->getClass();
$interface = $this->interfaceName;
try {
$useAssembler = new UseAssembler($interface);
if ($useAssembler->canAssemble($context)) {
$useAssembler->assemble($context);
}
$interfaces = $class->getImplementedInterfaces();
if (!in_array($interface, $interfaces)) {
$interfaces[] = $interface;
$class->setImplementedInterfaces($interfaces);
}
} catch (\Exception $e) {
throw AssemblerException::fromException($e);
}
}