<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _final_redis_call(self, final_set, sort_options):
 """ The final redis call to obtain the values to return from the "final_set" with some sort options. IIf we have at leaset a sorted set and if we don't have any sort options, call zrange on the final set wich is the result of a call to zinterstore. """

        conn = self.cls.get_connection()

        # we have a sorted set without need to sort, use zrange
        if self._has_sortedsets and sort_options is None:

            return conn.zrange(final_set, 0, -1)

        # we have a stored collection, without other filter, and no need to
        # sort, use lrange
        if self.stored_key and not self._lazy_collection['sets']\
                and len(self._lazy_collection['intersects']) == 1\
                and (sort_options is None or sort_options == {'by': 'nosort'}):

            return conn.lrange(final_set, 0, -1)

        # normal call
        return super(ExtendedCollectionManager, self)._final_redis_call(
                                                        final_set, sort_options)