def reduce_also(self, sitecol):
        """
        :returns: a reduced AssetCollection on the given sitecol
        NB: diffently from .reduce, also the SiteCollection is reduced
        and turned into a complete site collection.
        """
        array = []
        asset_refs = []
        for idx, sid in enumerate(sitecol.sids):
            mask = self.array['site_id'] == sid
            arr = self.array[mask]
            arr['site_id'] = idx
            array.append(arr)
            asset_refs.append(self.asset_refs[mask])
        new = object.__new__(self.__class__)
        vars(new).update(vars(self))
        new.tot_sites = len(sitecol)
        new.array = numpy.concatenate(array)
        new.array['ordinal'] = numpy.arange(len(new.array))
        new.asset_refs = numpy.concatenate(asset_refs)
        sitecol.make_complete()
        return new
:returns: a reduced AssetCollection on the given sitecol
        NB: diffently from .reduce, also the SiteCollection is reduced
        and turned into a complete site collection.