public function link($destination, $args = [])
{
// edit start
if (!$this->_createRequestMethodReflection) {
$this->_createRequestMethodReflection = new \ReflectionMethod(Presenter::class, 'createRequest');
$this->_createRequestMethodReflection->setAccessible(true);
$this->_handleInvalidLinkMethodReflection = new \ReflectionMethod(Presenter::class, 'handleInvalidLink');
$this->_handleInvalidLinkMethodReflection->setAccessible(true);
}
try {
$args = func_num_args() < 3 && is_array($args) ? $args : array_slice(func_get_args(), 1);
return $this->_createRequestMethodReflection->invoke($this->getPresenter(), $this, $destination, $args, 'link');
} catch (InvalidLinkException $e) {
$this->_handleInvalidLinkMethodReflection->invoke($e);
}
// edit end
}