'Move the tracks in the slice ``[start:end]`` to ``to_position``.
Triggers the :meth:`mopidy.core.CoreListener.tracklist_changed` event.
:param start: position of first track to move
:type start: int
:param end: position after last track to move
:type end: int
:param to_position: new position for the tracks
:type to_position: int'

def move(self, start, end, to_position):

    if (start == end):
        end += 1
    tl_tracks = self._tl_tracks
    assert (start < end), u'start    must    be    smaller    than    end'
    assert (start >= 0), u'start    must    be    at    least    zero'
    assert (end <= len(tl_tracks)), u'end    can    not    be    larger    than    tracklist    length'
    assert (to_position >= 0), u'to_position    must    be    at    least    zero'
    assert (to_position <= len(tl_tracks)), u'to_position    can    not    be    larger    than    tracklist    length'
    new_tl_tracks = (tl_tracks[:start] + tl_tracks[end:])
    for tl_track in tl_tracks[start:end]:
        new_tl_tracks.insert(to_position, tl_track)
        to_position += 1
    self._tl_tracks = new_tl_tracks
    self._increase_version()
