fix bug for when the random start == the random end. The interval tree wants the start to be lower than then end.
Now it uses the SortedList directly as an Array instead of splicing it each time it wants to read it.