### Question:
MergeSort implements ArraySort<T> { @Override public void sort(@Nonnull T[] a, @Nonnull Comparator<? super T> c) { final T[] aux = a.clone(); sort(a, 0, a.length - 1, c, aux); }  @Override void sort(@Nonnull T[] a, @Nonnull Comparator<? super T> c);  }### Answer:
@Test public void testSort() throws Exception { final Integer[] actual = {1, 0}; final Integer[] expected = {0, 1}; newArraySort().sort(actual, Collections.<Integer>naturalComparator()); Assert.assertArrayEquals(expected, actual); }