def METHOD_NAME(self, args, kwargs):
    # strip out trailing None positional arguments
    if len(args) > 2:
        for _ in range(2, len(self.args_list)):
            if args[-1] is not None:
                break
            args = args[:-1]
    # grab args passed in as positional
    params = dict(zip(self.args_list, args))
    # fall back to kwargs for args not supplied as positional
    for arg in self.args_list:
        if arg in params:
            continue
        if arg in kwargs:
            params[arg] = kwargs[arg]
    if "headers" not in params:
        kwargs["headers"] = params["headers"] = {}
    return args, kwargs, params