I’m on my fourth adventure writing pagination code for a non-sequential set of more than 30 million records. ClusteredPagedListHolder evolved into SmartPagedListHolder which evolved into SmarterPagedListHolder which has now turned into EvenSmarterPagedListHolder.
I don’t think I’m chasing my tail here.. and, it does work, getting to page 79,000, remembering your place, and staying on the right page as you page through the individual elements..in a non-sequential index.. is pretty remarkable.