Your conclusion in the comments is correct. SubLista field is required parentbecause it is SubListused SubListas a parent in subcategories - the nested is ArrayListnot the parent. In particular, the source ArrayList.SubList.subList () :
public List<E> subList(int fromIndex, int toIndex) {
subListRangeCheck(fromIndex, toIndex, size);
return new SubList(this, offset, fromIndex, toIndex);
}
Note that this(a SubList) is passed as the parent parameter to the new one SubList.
parent.