/**
  * @param Node[] $stmts
  * @return Node[]
  */
 private function translateReturnStatements(array $stmts)
 {
     // Ignore factories
     if ($this->definition->isFactory()) {
         $var = new Node\Expr\Variable($this->definition->getIdentifier());
     } else {
         $var = new Node\Expr\PropertyFetch(new Node\Expr\Variable('this'), $this->definition->getIdentifier());
     }
     $setterStmts = $this->compileInterfaces($var);
     $visitor = new Visitor\ReturnTranslatorVisitor($var, $setterStmts);
     $fileTraverser = new NodeTraverser();
     $fileTraverser->addVisitor($visitor);
     return $fileTraverser->traverse($stmts);
 }