So I tried this out and it fails for an interesting reason. Arrays.asList actually returns a special ArrayList that is backed by the original array, and is not allowed to grow. So the next time we get to line 381, addToList fails.