def METHOD_NAME(arrs, lookups=None):
    if lookups is None:
        merged, to_map_arrs, lset_map = EncodedLabels._get_merged_lookups(arrs)
    else:
        merged, to_map_arrs, lset_map = lookups
    for arr in arrs:
        if id(arr) not in to_map_arrs:
            # None of the label array's labelsets need to be mapped, good as is.
            block = arr
        else:
            # Lookup each labelset, if found, map to new value, otherwise, map to
            # original value.
            arrmap = {og: lset_map.get(lset, og) for og, lset in arr.labels.items()}
            block = np.vectorize(arrmap.get)(arr)
        yield block