public function __construct(array $parameters)
{
if (array_unique($parameters, SORT_STRING) !== $parameters) {
throw new PinqException('Cannot construct %s: duplicate parameter identifiers found', __CLASS__);
}
foreach ($parameters as $parameter) {
if (!is_string($parameter) || $parameter === '') {
throw new PinqException('Cannot construct %s: invalid parameter name, \'%s\'', __CLASS__, $parameter);
}
}
$this->parameters = array_values($parameters);
sort($this->parameters);
}