'Class method to parse get_comment_list/count/form and return a Node.'

def handle_token(cls, parser, token):

    tokens = token.contents.split()
    if (tokens[1] != 'for'):
        raise template.TemplateSyntaxError(("Second    argument    in    %r    tag    must    be    'for'" % tokens[0]))
    if (len(tokens) == 5):
        if (tokens[3] != 'as'):
            raise template.TemplateSyntaxError(("Third    argument    in    %r    must    be    'as'" % tokens[0]))
        return cls(object_expr=parser.compile_filter(tokens[2]), as_varname=tokens[4])
    elif (len(tokens) == 6):
        if (tokens[4] != 'as'):
            raise template.TemplateSyntaxError(("Fourth    argument    in    %r    must    be    'as'" % tokens[0]))
        return cls(ctype=BaseCommentNode.lookup_content_type(tokens[2], tokens[0]), object_pk_expr=parser.compile_filter(tokens[3]), as_varname=tokens[5])
    else:
        raise template.TemplateSyntaxError(('%r    tag    requires    4    or    5    arguments' % tokens[0]))
