public function __construct(string $scheme, string $parameter) { $scheme = new Str($scheme); if (!$scheme->match('~^\\w+$~')) { throw new InvalidArgumentException(); } $this->scheme = (string) $scheme; $this->parameter = $parameter; parent::__construct((string) $scheme->prepend('"')->append('" ')->append($parameter)->trim()); }