I've been trying to rack my head over this but it's just not working. 

I'm using some proprietary technology that only allows the move of a single element at a time. Super annoying. Think of it as list.moveRow(before, after).

So imagine a todo list with 10 items in it: `1, 2, 3, 4, 5, 6, 7, 8, 9, 10`

What I want to do is reorder multiple items in there, 
so say I select items `2, 6, 7, and 8`.

Then I drag and drop to position `4`. 

The idea is that the elements would now be in order: `1, 3, 2, 6, 7, 8, 4, 5, 9, 10`. 

Is there a simple way to do this? I tried using extra variables to keep track of offsets due to an element moved that throws off the index, but it's super messy. :(