def METHOD_NAME(func):
    params = []
    stack = [func]
    while stack:
        f = stack.pop()
        for subfixture in f.get_fixtures():
            if isinstance(subfixture, GeneratorFixture):
                params.append(subfixture)
                continue
            else:
                stack.append(subfixture)
        params.extend(f.get_parameters())
    # This function returns a list of parameters (type: Parameter) with unique ID
    # Therefore, returning list(params) is not engouth
    return list({p.id: p for p in params}.values())