FastSparseSet<Integer>[] (int index, int size, boolean exact) { FastSparseSet<Integer>[] arr = elements[index]; int[] arrnext = next[index]; int minsize = size; if (!exact) { minsize = 2 * arr.length / 3 + 1; if (size > minsize) { minsize = size; } } @SuppressWarnings("unchecked") FastSparseSet<Integer>[] arrnew = new FastSparseSet[minsize]; System.arraycopy(arr, 0, arrnew, 0, arr.length); int[] arrnextnew = new int[minsize]; System.arraycopy(arrnext, 0, arrnextnew, 0, arrnext.length); elements[index] = arrnew; next[index] = arrnextnew; return arrnew; }