Same remarks as for findPosition() -- you could add a lot more optimization here later on. But let's measure performance first so that we can see the difference that this makes.