'Get the nth item in this result set. This is inefficient: all
items up to n are materialized and thrown away.'

def __getitem__(self, n):

    if ((not self._rows) and (not self.sort)):
        return self._objects[n]
    it = iter(self)
    try:
        for i in range(n):
            next(it)
        return next(it)
    except StopIteration:
        raise IndexError(u'result    index    {0}    out    of    range'.format(n))
