code: protected function getParameterFromContainer(
          IContainer $container,
          ReflectionParameter $parameter
      ) {
          try {
              return $container->get($parameter->getClass()->getName());
          } catch (Exception $ex) {
              $ignoreException = (
                  $ex instanceof ValueNotFoundException ||
                  $ex instanceof ImplementationNotFoundException
              );
  
              if ( ! ($ignoreException && $parameter->isDefaultValueAvailable())) {
                  throw $ex;
              }
          }
      }
docs: @param IContainer $container
  @param ReflectionParameter $parameter
  
  @return mixed
  @throws Exception
  @throws ValueNotFoundException