abstract class ArrayReverser implements Reverser { volatile int[] array; volatile int[] reversed; public void setArray(int[] array) { this.array = array; this.reversed = new int[array.length]; } public int[] array() { return array; } public int[] reversed() { return reversed; } }