The length and collection of objects is already cached and you control the decrementor so there really is no risk of getting beyond -1. No need for the more expensive comparator to cover a scenario that won't happen.