protected function createSetMethod(PropertyDefinition $property)
 {
     $methodName = new PhpVariableName('set' . $property->getName()->toUpperCamelCase());
     $parameter = new ParameterDefinition($property->getType(), $property->getName());
     $method = new MethodDefinition($methodName, [$parameter]);
     $method->setVisibility(Visibility::PUBLIC_VISIBILITY())->addLine(sprintf('$this->%1$s = $%1$s;', $property->getName()->toLowerCamelCase()));
     return $method;
 }