diff -r a437b3f9d7f4 -r 6fe31bc95bbc jdk/src/share/classes/java/util/ArrayList.java --- a/jdk/src/share/classes/java/util/ArrayList.java Mon Mar 10 14:32:51 2008 -0700 +++ b/jdk/src/share/classes/java/util/ArrayList.java Mon Mar 10 15:07:09 2008 -0700 @@ -892,7 +892,7 @@ private final AbstractList parent; private final int parentOffset; private final int offset; - private int size; + int size; SubList(AbstractList parent, int offset, int fromIndex, int toIndex) { @@ -971,6 +971,7 @@ public ListIterator listIterator(final int index) { checkForComodification(); rangeCheckForAdd(index); + final int offset = this.offset; return new ListIterator() { int cursor = index;