public function __construct(ClassDefinition $classDefinition, array $visibility, $name, $parameters, StatementsBlock $statements = null, $docblock = null, $returnType = null, array $original = null)
{
$this->checkVisibility($visibility, $name, $original);
$this->classDefinition = $classDefinition;
$this->visibility = $visibility;
$this->name = $name;
$this->parameters = $parameters;
$this->statements = $statements;
$this->docblock = $docblock;
$this->expression = $original;
$this->setReturnTypes($returnType);
}