def avoid_duplicate_names(new_column_name, columns, suffix):
    """Adds a suffix in case of a column name collision in a recursive way

    :param new_column_name: a possible new column name
    :type: str
    :param columns: existing column names
    :type: list
    :param suffix: suffix to add to prevent collisions
    :int
    :return: a column name that prevents collisions
    :type: str
    """
    if f"{new_column_name}_{suffix}" not in columns:
        return f"{new_column_name}_{suffix}"
    else:
        suffix += 1
        return avoid_duplicate_names(new_column_name, columns, suffix)