protected function resolveMethodArguments(
        IContainer $container,
        ReflectionClass $class,
        ReflectionMethod $method,
        array $args = []
    ) {
        try {
            return $this->buildArgumentsFromParameters(
                $container, $method->getParameters(), $args
            );
        } catch (UnresolveableArgumentException $ex) {
            $ex->setClassName($class->getName());
            $ex->setMethodName($method->getName());

            throw $ex;
        }
    }
protected function resolveMethodArguments(
        IContainer $container,
        ReflectionClass $class,
        ReflectionMethod $method,
        array $args = []
    ) {
        try {
            return $this->buildArgumentsFromParameters(
                $container, $method->getParameters(), $args
            );
        } catch (UnresolveableArgumentException $ex) {
            $ex->setClassName($class->getName());
            $ex->setMethodName($method->getName());

            throw $ex;
        }
    }
@param IContainer $container
@param ReflectionClass $class
@param ReflectionMethod $method
@param array $args

@return array
@throws Exception
@throws UnresolveableArgumentException