Suppose we started somewhere close to the end of the range?  I think we need to not start counting until we get to the beginning and only return false once we get to the end again.