I can't get any different behavior using editor.selection.ranges over editor.selection.rangelist.ranges. I'm also not sure how the order of selections can remain unchanged because the selections are supposed to change.