docs: 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