def METHOD_NAME(self, f_subfind):
    # see if we previously saved it:
    if 'TangosSubGroupNumber' in f_subfind.loadable_keys():
        logger.info("Found cached TangosSubGroupNumber within Eagle snapshot")
        return
    grp = f_subfind['GroupNumber']
    subgrp = f_subfind['SubGroupNumber']
    logger.info("Mapping Eagle-like group/subgroups to unique subgroups across snapshot")
    # group together all particles that are not in a subgroup. The subgroup files do not have any particles
    # that are not in a group.
    unique_subgrp_hash = (subgrp.astype(np.int64) + (grp.astype(np.int64) << 32)).view(type=np.ndarray)
    subgrp_max = int(subgrp.max())
    unique_subgrp_hash[subgrp == subgrp_max] = subgrp_max
    unique_subgrp_ordered = scipy.stats.rankdata(unique_subgrp_hash, 'dense')
    unique_subgrp_ordered[subgrp == subgrp_max] = subgrp_max
    f_subfind['TangosSubGroupNumber'] = unique_subgrp_ordered
    try:
        f_subfind['TangosSubGroupNumber'].write()
    except OSError:
        logger.info("Unable to cache TangosSubGroupNumber on disk")
    return subgrp_max