public function buildPermission(int $id, string $title, ?string $description, bool $active, \DateTimeImmutable $created, array $roles): Permission 
    {
        return new Permission($id, $title, $description, $active, $created, $roles);
    }
public function buildPermission(int $id, string $title, ?string $description, bool $active, \DateTimeImmutable $created, array $roles): Permission 
    {
        return new Permission($id, $title, $description, $active, $created, $roles);
    }
public function buildPermission ( int $ id , string $ title , ? string $ description , bool $ active , \ DateTimeImmutable $ created , array $ roles ) : Permission { return new Permission ( $ id , $ title , $ description , $ active , $ created , $ roles ) ; }
note roles array is validated in Permission constructor
note roles array is validated in Permission constructor