Fix the case where the offset given is larger than the number of items in the results.

Also switched from LinkedList to Arraylist to better suit the
new (random) access pattern for highlighting.