class SequentialReverser extends ArrayReverser { public SequentialReverser(int[] array) { setArray(array); } public void reverse() { // reverse all elements of `array` reverse(0, array.length); } // reverse elements of `array` from index `from` (included) to // index `to` (excluded) into array `reversed` void reverse(int from, int to) { for (int k = from; k < to; k++) reversed[reversed.length - k - 1] = array[k]; } }