protected function executeDirective($directive, $context, $argv)
{
if (!$this->isRegistered($directive)) {
throw new \RuntimeException(sprintf("Undefined Directive \"%s\" in %s", $directive, $this->source));
}
$callback = $this->directives[$directive];
array_unshift($argv, $context);
return call_user_func_array($callback, $argv);
}