sub new { # parameters: # [$this], # @namedParameters: tree, messageNum, (messageText) ##### process parameters ##### my ($this, @namedParameters) = @_; # process named parameters (with default values) my ($tree, $messageNum, $messageText) = assertNamedParameters([ numNamedParameters => 3, tree => undef, messageNum => undef, messageText => undef, ], \@namedParameters ); # check mandatory paramters assertValueIsDefined($this, $tree, $messageNum);