{%for 1 to depth %}    {%/for%}if ({%if predicate %}{{predicate}} && ({%/if%}{%for tokenKind in lookaheadSet%}![self predicts:{{tokenKind.name}}, 0]{%if currentLoop.currentIndex != last %} && {%/if%}{%/for%}{%if predicate %}){%/if%}) {
{%for 1 to depth %}    {%/for%}    [self match:TOKEN_KIND_BUILTIN_ANY discard:{%if discard %}YES{%else%}NO{%/if%}];
{%for 1 to depth %}    {%/for%}} else {
{%for 1 to depth %}    {%/for%}    [self raise:@"negation test failed in {{methodName}}"];
{%for 1 to depth %}    {%/for%}}
