DefaultListenableList.subList returns a listenable list that does not know
about the offset index (hence the CollectionEvent.getFirst/LastIndex() will
return invalid values).
listIterator can be implemented on the model of what was done in AdaptedList.