def METHOD_NAME(self, xRange, miscParams, src, tgt):
    xs = []
    ys = []
    minTime, maxTime = xRange
    # Prepare time cache and various shared data
    self._prepareTimeCache(src=src, ancReload=miscParams['ancReload'], maxTime=maxTime)
    timeCache = self._getTimeCacheData(src=src, ancReload=miscParams['ancReload'])
    applicationMap = getApplicationPerKey(src=src, distance=miscParams['distance'])
    # Custom iteration for time graph to show all data points
    currentRepAmount = None
    currentTime = None
    for currentTime in sorted(timeCache):
        prevRepAmount = currentRepAmount
        currentRepAmountData = timeCache[currentTime]
        currentRepAmount = applyReps(rrMap=currentRepAmountData, applicationMap=applicationMap)
        if currentTime < minTime:
            continue
        # First set of data points
        if not xs:
            # Start at exactly requested time, at last known value
            initialRepAmount = prevRepAmount or 0
            xs.append(minTime)
            ys.append(initialRepAmount)
            # If current time is bigger then starting, extend plot to that time with old value
            if currentTime > minTime:
                xs.append(currentTime)
                ys.append(initialRepAmount)
            # If new value is different, extend it with new point to the new value
            if currentRepAmount != prevRepAmount:
                xs.append(currentTime)
                ys.append(currentRepAmount)
            continue
        # Last data point
        if currentTime >= maxTime:
            xs.append(maxTime)
            ys.append(prevRepAmount)
            break
        # Anything in-between
        if currentRepAmount != prevRepAmount:
            if prevRepAmount is not None:
                xs.append(currentTime)
                ys.append(prevRepAmount)
            xs.append(currentTime)
            ys.append(currentRepAmount)
    # Special case - there are no remote reppers
    if currentRepAmount is None and currentTime is None:
        xs.append(minTime)
        ys.append(0)
    # Make sure that last data point is always at max time
    if maxTime > (currentTime or 0):
        xs.append(maxTime)
        ys.append(currentRepAmount or 0)
    return xs, ys