protected function _set_args($what, $alias, $value)
{
// save value in args
if ($alias === null) {
$this->args[$what][] = $value;
} else {
// don't allow multiple values with same alias
if (isset($this->args[$what][$alias])) {
throw new Exception([ucfirst($what) . ' alias should be unique', 'alias' => $alias]);
}
$this->args[$what][$alias] = $value;
}
}