we need to traverse the whole table because there might be empty lists

because keys might have been removed during the table lifespan and on deletion
lists are not released but kept for future use