public function injectionByClosure($closure, $method, $inherentParams=[])
    {
        if (! ($closure instanceof \Closure)) {
            throw new \InvalidArgumentException('Method 0 must be a Closure.');
        }
        $instances = $this->dependentService->getParams($this->reflection, $method, count($inherentParams));
        $params = array_merge($instances, $inherentParams);
        return call_user_func_array($closure, $params);
    }