public function __construct($name, $constraint = null)
{
parent::__construct();
if ($constraint === null) {
$constraint = Assert::logicalNot(Assert::isEmpty());
} elseif (!$constraint instanceof Constraint) {
$constraint = Assert::equalTo($constraint);
}
$this->name = strtolower($name);
$this->constraint = $constraint;
}