code: def timeStack(requestContext, seriesList, timeShiftUnit, timeShiftStart,
                timeShiftEnd):
      
      # Default to negative. parseTimeOffset defaults to +
      if timeShiftUnit[0].isdigit():
          timeShiftUnit = '-' + timeShiftUnit
      delta = parseTimeOffset(timeShiftUnit)
      # if len(seriesList) > 1, they will all have the same pathExpression,
      # which is all we care about.
      series = seriesList[0]
      results = []
      timeShiftStartint = int(timeShiftStart)
      timeShiftEndint = int(timeShiftEnd)
  
      for shft in range(timeShiftStartint, timeShiftEndint):
          myContext = requestContext.copy()
          innerDelta = delta * shft
          myContext['startTime'] = requestContext['startTime'] + innerDelta
          myContext['endTime'] = requestContext['endTime'] + innerDelta
          for shiftedSeries in evaluateTarget(myContext, series.pathExpression):
              shiftedSeries.name = 'timeShift(%s, %s, %s)' % (shiftedSeries.name,
                                                              timeShiftUnit,
                                                              shft)
              shiftedSeries.pathExpression = shiftedSeries.name
              shiftedSeries.start = series.start
              shiftedSeries.end = series.end
              results.append(shiftedSeries)
  
      return results
docs: Takes one metric or a wildcard seriesList, followed by a quoted string
      with the length of time (See ``from / until`` in the render\_api_ for
      examples of time formats). Also takes a start multiplier and end
      multiplier for the length of time-
  
      Create a seriesList which is composed the original metric series stacked
      with time shifts starting time shifts from the start multiplier through
      the end multiplier.
  
      Useful for looking at history, or feeding into averageSeries or
      stddevSeries.
  
      Example::
  
          # create a series for today and each of the previous 7 days
          &target=timeStack(Sales.widgets.largeBlue,"1d",0,7)