def METHOD_NAME(actions):
    """Consolidate actions which are the same type and have the same options.
    For example, if you have two redact actions with the same redactValue
    on two different columns, consolidate them to a single action on both
    columns.
    Args:
        actions (list): list of actions to consolidate
    Returns:
        list: a new list of consolidated actions
    """
    def reduce_actions(a, b):
        a.columns = (a.columns or []) + (b.columns or [])
        return a
    actions = sorted(actions, key=action_key)
    result = []
    for k, g in itertools.groupby(actions, action_key):
        result.append(functools.reduce(reduce_actions, list(g)))
    return result