'Construct a new slice from a given underlying sequence.  The
``start`` and ``stop`` indices should be absolute indices --
i.e., they should not be negative (for indexing from the back
of a list) or greater than the length of ``source``.'

def __new__(cls, source, start, stop):

    if ((stop - start) < cls.MIN_SIZE):
        return list(islice(source.iterate_from(start), (stop - start)))
    else:
        return object.__new__(cls)
