code: def _get_final_set(self, sets, pk, sort_options):
          
          if self._lazy_collection['intersects']:
              # if the intersect method was called, we had new sets to intersect
              # to the global set of sets.
              # And it there is no real filters, we had the set of the whole
              # collection because we cannot be sure that entries in "intersects"
              # are all real primary keys
              sets = sets[::]
              sets.extend(self._lazy_collection['intersects'])
              if not self._lazy_collection['sets'] and not self.stored_key:
                  sets.append(self.cls.get_field('pk').collection_key)
  
          final_set, keys_to_delete_later = super(ExtendedCollectionManager,
                                      self)._get_final_set(sets, pk, sort_options)
  
          # if we have a slice and we want to sort by the score of a sorted set,
          # as redis sort command doesn't handle this, we have to create keys for
          # each value of the sorted set and sort on them
          # @antirez, y u don't allow this !!??!!
          if final_set and self._sort_by_sortedset_before:
              # TODO: if we have filters, maybe apply _zet_to_keys to only
              #       intersected values
              base_tmp_key, tmp_keys = self._prepare_sort_by_score(None, sort_options)
              # new keys have to be deleted once the final sort is done
              if not keys_to_delete_later:
                  keys_to_delete_later = []
              keys_to_delete_later.append(base_tmp_key)
              keys_to_delete_later += tmp_keys
  
          return final_set, keys_to_delete_later
docs: Add intersects fo sets and call parent's _get_final_set.
          If we have to sort by sorted score, and we have a slice, we have to
          convert the whole sorted set to keys now.