* @throws \UnexpectedValueException