# File lib/treetop/runtime/interval_skip_list/node.rb, line 120
    def demote_outbound_markers(path)
      demoted = []
      new_demoted = []

      top_level.downto(0) do |i|
        forward_markers[i].each do |marker|
          new_demoted.push(marker) unless path[i].forward_markers[i].include?(marker)
        end

        demoted.each do |marker|
          forward[i].place_marker_on_outbound_path(marker, i, forward[i + 1])
          new_demoted.push(marker) unless path[i].forward_markers[i].include?(marker)
        end

        demoted = new_demoted
        new_demoted = []
      end
    end