96 } |
96 } |
97 |
97 |
98 @Override |
98 @Override |
99 public ArrayData ensure(final long safeIndex) { |
99 public ArrayData ensure(final long safeIndex) { |
100 if (safeIndex > 0L) { |
100 if (safeIndex > 0L) { |
|
101 if (safeIndex >= SparseArrayData.MAX_DENSE_LENGTH) { |
|
102 return new SparseArrayData(this, safeIndex + 1); |
|
103 } |
|
104 //known to fit in int |
101 return toRealArrayData((int)safeIndex).ensure(safeIndex); |
105 return toRealArrayData((int)safeIndex).ensure(safeIndex); |
102 } |
106 } |
103 return this; |
107 return this; |
104 } |
108 } |
105 |
109 |