code: protected function getParameterValue(
          IContainer $container,
          ReflectionParameter $parameter,
          array $args
      ) {
          $parameterName = $parameter->getName();
  
          if (array_has($args, $parameterName)) {
              return $args[$parameterName];
          }
  
          if ($parameter->getClass() !== null) {
              return $this->getParameterFromContainer($container, $parameter);
          }
  
          if ($parameter->isDefaultValueAvailable()) {
              return $parameter->getDefaultValue();
          }
  
          throw new UnresolveableArgumentException(
              s('Value not found for argument %s.', $parameterName)
          );
      }
docs: @param IContainer $container
  @param ReflectionParameter $parameter
  @param array $args
  
  @return mixed
  @throws Exception