promote_markers (IntervalSkipList::Node)

    # File lib/treetop/runtime/interval_skip_list/node.rb, line 43
        def promote_markers(path)
          promoted = []
          new_promoted = []
          0.upto(top_level) do |i|
            incoming_markers = path[i].forward_markers[i]
            markers.concat(incoming_markers)

            incoming_markers.each do |marker|
              if can_be_promoted_higher?(marker, i)
                new_promoted.push(marker)
                forward[i].delete_marker_from_path(marker, i, forward[i+1])
              else
                forward_markers[i].push(marker)
              end
            end

            promoted.each do |marker|
              if can_be_promoted_higher?(marker, i)
                new_promoted.push(marker)
                forward[i].delete_marker_from_path(marker, i, forward[i+1])
              else
                forward_markers[i].push(marker)
              end
            end

            promoted = new_promoted
            new_promoted = []
          end
        end