'Schedule the next iteration of this looping call.
@param when: The present time from whence the call is scheduled.'

def _scheduleFrom(self, when):

    def howLong():
        if (self.interval == 0):
            return 0
        runningFor = (when - self.starttime)
        untilNextInterval = (self.interval - (runningFor % self.interval))
        if (when == (when + untilNextInterval)):
            return self.interval
        return untilNextInterval
    self.call = self.clock.callLater(howLong(), self)
