protected function __construct($symbol)
{
if (!is_string($symbol)) {
throw new UnexpectedValueException('expected string');
} elseif (!preg_match(self::PATTERN, $symbol)) {
throw new UnexpectedValueException('invalid symbol');
}
$this->symbol = $symbol;
}