public function processContainerBuilder(GenerationContext $context)
 {
     $annotation = $context->getAnnotation();
     /* @var $annotation \Nucleus\Bundle\ConsoleBundle\Command\CommandLine */
     $serviceName = $context->getServiceName();
     $methodName = $context->getParsingContextName();
     $definition = $context->getContainerBuilder()->getDefinition($serviceName);
     $shortDesc = 'N/A';
     $reflectedMethod = new \ReflectionMethod($definition->getClass(), $methodName);
     $methodComment = $reflectedMethod->getDocComment();
     $paramArrayComments = array();
     if ($methodComment !== false) {
         list($shortDesc, $paramArrayComments) = $this->parseBlockDocComment($methodComment);
     }
     $paramsArray = array();
     foreach ($reflectedMethod->getParameters() as $reflectionParameter) {
         if ($reflectionParameter->getClass()) {
             continue;
         }
         $paramComment = 'N/A';
         if (isset($paramArrayComments[$reflectionParameter->getName()])) {
             $paramComment = $paramArrayComments[$reflectionParameter->getName()];
         }
         $paramsArray[$reflectionParameter->getName()]['optional'] = false;
         if ($reflectionParameter->isDefaultValueAvailable()) {
             $paramsArray[$reflectionParameter->getName()]['optional'] = true;
         }
         $paramsArray[$reflectionParameter->getName()]['comment'] = $paramComment;
     }
     if (!empty($annotation->name)) {
         $name = $annotation->name;
     } else {
         $name = $serviceName . ':' . $methodName;
     }
     if ($context->getContainerBuilder()->hasParameter(self::CONTAINER_COMMANDS_PARAMETER)) {
         $commands = $context->getContainerBuilder()->getParameter(self::CONTAINER_COMMANDS_PARAMETER);
     } else {
         $commands = array();
     }
     $commands[] = compact('name', 'shortDesc', 'paramsArray', 'serviceName', 'methodName');
     $context->getContainerBuilder()->setParameter(self::CONTAINER_COMMANDS_PARAMETER, $commands);
 }