private function createMethodParam(Parameter $param)
 {
     $result = $this->builderFactory->param($param->getName());
     if ($param->hasClass()) {
         $result->setTypeHint($param->getClassType()->getName());
     }
     return $result;
 }
 private function createMethodParamWithDefaultValue(Parameter $param, $defaultValue)
 {
     $result = $this->builderFactory->param($param->getName());
     if ($param->hasClass()) {
         $result->setTypeHint($param->getClassType()->getName());
     }
     $result->setDefault($defaultValue);
     return $result;
 }
 private function createConstructorMethodAssignment(Parameter $param)
 {
     return new Node\Expr\Assign(new Node\Expr\Variable('this->' . $param->getName()), new Node\Expr\Variable($param->getName()));
 }
 private function createMethodParam(Parameter $param)
 {
     $result = $this->builderFactory->param($param->getName());
     return $result;
 }
 private function createClassProperty(Parameter $property)
 {
     return $this->builderFactory->property($property->getName())->makePrivate()->setDocComment('/** @var ' . $this->getClassType($property) . ' */');
 }