def METHOD_NAME(self, node, results):
    params_rawlist = results[u"params"]
    for i, item in enumerate(params_rawlist):
        if item.type == token.STAR:
            params_rawlist = params_rawlist[i:]
            break
    else:
        return
    # params is guaranteed to be a list starting with *.
    # if fixing is needed, there will be at least 3 items in this list:
    # [STAR, COMMA, NAME] is the minimum that we need to worry about.
    new_kwargs = needs_fixing(params_rawlist)
    # new_kwargs is the name of the kwargs dictionary.
    if not new_kwargs:
        return
    suitify(node)
    # At this point, params_rawlist is guaranteed to be a list
    # beginning with a star that includes at least one keyword-only param
    # e.g., [STAR, NAME, COMMA, NAME, COMMA, DOUBLESTAR, NAME] or
    # [STAR, COMMA, NAME], or [STAR, COMMA, NAME, COMMA, DOUBLESTAR, NAME]
    # Anatomy of a funcdef: ['def', 'name', parameters, ':', suite]
    # Anatomy of that suite: [NEWLINE, INDENT, first_stmt, all_other_stmts]
    # We need to insert our new stuff before the first_stmt and change the
    # first_stmt's prefix.
    suite = node.children[4]
    first_stmt = suite.children[2]
    ident = indentation(first_stmt)
    for name, default_value in gen_params(params_rawlist):
        if default_value is None:
            suite.insert_child(2, Newline())
            suite.insert_child(2, String(_assign_template %{u'name':name, u'kwargs':new_kwargs}, prefix=ident))
        else:
            suite.insert_child(2, Newline())
            suite.insert_child(2, String(_else_template %{u'name':name, u'default':default_value}, prefix=ident))
            suite.insert_child(2, Newline())
            suite.insert_child(2, String(_if_template %{u'assign':_assign_template %{u'name':name, u'kwargs':new_kwargs}, u'name':name, u'kwargs':new_kwargs}, prefix=ident))
    first_stmt.prefix = ident
    suite.children[2].prefix = u""
    # Now, we need to fix up the list of params.
    must_add_kwargs = remove_params(params_rawlist)
    if must_add_kwargs:
        arglist = results[u'arglist']
        if len(arglist.children) > 0 and arglist.children[-1].type != token.COMMA:
            arglist.append_child(Comma())
        arglist.append_child(DoubleStar(prefix=u" "))
        arglist.append_child(Name(new_kwargs))