public function addTrait($trait)
{
$traitName = $trait;
if ($trait instanceof ReflectionClass) {
if (!$trait->isTrait()) {
throw new \InvalidArgumentException("Trait expected to add");
}
$traitName = $trait->name;
}
// Use absolute namespace to prevent NS-conflicts
$this->traits[] = '\\' . ltrim($traitName, '\\');
}