public function __construct(Expression $nameExpression, array $argumentExpressions = [])
 {
     $this->name = $nameExpression;
     $this->arguments = self::verifyAll($argumentExpressions, ArgumentExpression::getType());
 }
 public function __construct(Expression $value, array $arguments)
 {
     parent::__construct($value);
     $this->arguments = self::verifyAll($arguments, ArgumentExpression::getType());
 }
 public function __construct(Expression $class, Expression $name, array $arguments = [])
 {
     parent::__construct($class);
     $this->name = $name;
     $this->arguments = self::verifyAll($arguments, ArgumentExpression::getType());
 }