def METHOD_NAME(cls, years, results):
    periods = {}
    # Populate periods with v1 data
    grouped_results = group_items_by_year(results["bsheet_auda_years"])
    for key, result in grouped_results:
        periods.setdefault(key, {})
        periods[key]["cash"] = result.get("1800")
        periods[key]["call_investment_deposits"] = result.get("2200")
        periods[key]["total_current_liabilities"] = result.get("1600")
    # Populate periods with v2 data
    grouped_results = group_items_by_year(
        results["financial_position_auda_years_v2"]
    )
    for key, result in grouped_results:
        periods.setdefault(key, {})
        periods[key]["cash"] = result.get("0120")
        periods[key]["call_investment_deposits"] = result.get("0130")
        periods[key]["total_current_liabilities"] = sum_item_amounts(result, [
            "0330", "0340", "0350", "0360", "0370",
        ])
    # Filter out periods that don't have all the required data
    periods = filter_for_all_keys(periods, [
        "cash",
        "call_investment_deposits",
        "total_current_liabilities",
    ])
    # Convert periods into dictionary
    periods = dict(periods)
    # Generate data for the reuqested years
    return list(
        map(
            lambda year: cls.generate_data(year, periods.get(year)),
            years,
        )
    )