Hello!
Note that any method you call on SubList is delegated to ArrayList you obtained SubList from.
This means that any modifications you make to SubList also modify ArrayList.
But any modifications done to ArraList after sublist was returned to you will result in
ConcurrentModificationException when you call any method (even size()) of SubList.
Be aware that after sublist was returned to you do not call methods of ArrayList in order to use sublist safely.
The best is to explore thoroughly
java collections framework on my
Internal life of java collections series