Rule Parameters() {
        return Sequence(
                '(',
                Parameter(), push(new ParametersNode(pop())), Ws0(),
                ZeroOrMore(
                        ',', Ws0(),
                        Parameter(), peek(1).addChild(pop())
                ),
                ')',
                push(new ScopeNode(pop()))
        );
    }
Rule Parameters ( ) { return Sequence ( '(' , Parameter ( ) , push ( new ParametersNode ( pop ( ) ) ) , Ws0 ( ) , ZeroOrMore ( ',' , Ws0 ( ) , Parameter ( ) , peek ( 1 ) . addChild ( pop ( ) ) ) , ')' , push ( new ScopeNode ( pop ( ) ) ) ) ; }
'(' Parameter Ws0 (',' Ws0 Parameter)* ')'