def __init__(self, previous_generation=None, position_advanced=0):
            # Note, we are very particular that we store references to the next generation, instead of the previous,
            # so that if there are no more Position objects referencing a given MarkGeneration, then that MarkGeneration
            # will be garbage collected.
            #
            # The mark generation that was made next after this one, if any.  If this is None, it indicates this
            # mark generation instance is the current generation.
            self.__next_generation = None
            # The offset of this mark generation's positions to the next one, if there is one.
            self.__offset_to_next = 0
            if previous_generation is not None:
                previous_generation.__next_generation = self
                previous_generation.__offset_to_next = -1 * position_advanced
Creates a new mark generation.  There are two forms of this initializer.  The first ever created
dataset/ETHPy150Open scalyr/scalyr-agent-2/scalyr_agent/log_processing.py/LogFileIterator.MarkGeneration.__init__