code: private function findReturnTag($phpdoc = null, array $definition, ClassMetadata $classMetadata, ClassMethod $node)
      {
          $implements = $classMetadata->getImplements();
          if (is_array($implements) === true) {
              foreach ($implements as $implement) {
                  foreach ($this->classCollector->getCollected() as $className => $classInfo) {
                      if ($classMetadata->getNamespace().'\\'.$implement === $className) {
                          try {
                              $phpdoc = $this->nodeToDocBlock($this->findMethod($classInfo, $node->name));
                          } catch (\InvalidArgumentException $e) {
                          }
                      }
                      foreach ($classMetadata->getClasses() as $use) {
                          if ($use.'/'.$implement === $className) {
                              try {
                                  $phpdoc = $this->nodeToDocBlock($this->findMethod($classInfo, $node->name));
                              } catch (\InvalidArgumentException $e) {
                              }
                          }
                      }
                  }
              }
          }
  
          if ($phpdoc !== null) {
              foreach ($phpdoc->getTags() as $tag) {
                  if ($this->isReturnTag($tag) === true) {
                      $definition['return'] = array(
                          'type' => $this->findType($tag, $node, $classMetadata),
                      );
                      break;
                  }
              }
          }
  
          return $definition;
      }
docs: @param string   $actualNamespace
  @param array    $definition
  @param array    $use
  @param array    $classes
  @param DocBlock $phpdoc
  
  @return array