code: public function run()
      {
          $class = $this->getAnnotationClassForAction($this->getParameters()->getAction());
  
          $method = $this->getAnnotationMethodForMethod($class, $this->getParameters()->getMethod());
  
          $className = $class->getClassName();
  
          $methodName = $method->getMethodName();
  
          $reflectionClass = new \ReflectionClass($className);
          $controllerInstance = $reflectionClass->newInstance();
  
          // postbody parameter injection
          $paramMethod = $this->getParamMethod();
          if (!method_exists($controllerInstance, $paramMethod)) {
              throw new ExtDirectException("Method '{$this->getParamMethod()}' not available in class '{$className}'");
          }
          $controllerInstance->$paramMethod($this->getParameters()->getData());
  
          foreach ($this->getMethodCalls() as $mName => $mParams) {
              if (!$reflectionClass->hasMethod($mName)) {
                  throw new ExtDirectException("Method '{$mName}' not available in class '{$className}'");
              }
  
              call_user_func_array(array($controllerInstance, $mName), $mParams);
          }
  
          $reflectionMethod = $reflectionClass->getMethod($methodName);
          $result = $reflectionMethod->invoke($controllerInstance);
  
          $this->getResponse()->setResult($result);
      }
docs: request execution
  
  @return void
  @throws Exceptions\ExtDirectException