def METHOD_NAME(vulns_bin, num_intensity_bins, num_damage_bins, info, max_vulnerability_id_size):
    """
    Loops through the vulnerability data, converting it into one-dimensional arrays, in-turn converting this into
    PyArrow arrays and then converting into Tables.
    Args:
        vulns_bin: (List[Vulnerability]) vulnerability data from file
        num_intensity_bins: (int) the number of intensity bins in the data
        num_damage_bins: (int) the number of damage bins in the data
        info: (dict) meta data around the vulnerability data. It has to store:
                                                                num_vulnerability_id => number of vulnerability IDs
                                                                num_intensity_bins => number of intensity bins
                                                                num_damage_bins => number of damage bins
        max_vulnerability_id_size: (int) the size of the vulnerability_ids array
    Returns:
    """
    for vulnerability_ids, vuln_array in get_array(vulns_bin, num_intensity_bins, num_damage_bins, max_vulnerability_id_size):
        arr_vulnerability_ids = pa.array(vulnerability_ids)
        arr_vulnerability = pa.FixedSizeListArray.from_arrays(vuln_array.ravel(), num_intensity_bins * num_damage_bins)
        vulnerability_table = pa.Table.from_arrays([arr_vulnerability_ids, arr_vulnerability], names=[
                                                   'vulnerability_id', 'vuln_array'], metadata=info)
        yield vulnerability_table