Oh, come on! What about:
```
ListIterator<Record> li = records.listIterator(records.size());
while (li.hasPrevious()) {
    Record r = li.previous();
    ...
}
```
Isn't that more readable and less error prone than counting indices?