### Question:
Options { public static <T> T[] prependOptions(T[] oldOpts, T... newOpts) { T[] result = Arrays.copyOf(newOpts, newOpts.length+oldOpts.length); System.arraycopy(oldOpts, 0, result, newOpts.length, oldOpts.length); return result; }  @SuppressWarnings("unchecked") static T getOption(Class<T> cls, base [] opts
                                                   ); static T[] prependOptions(T[] oldOpts, T... newOpts);  }### Answer:
@Test public void testAppend() throws Exception { assertArrayEquals("first append", new String[]{"Dr.", "Who", "hi", "there"}, Options.prependOptions(new String[]{"hi", "there"}, "Dr.", "Who")); assertArrayEquals("second append", new String[]{"aa","bb","cc","dd","ee","ff"}, Options.prependOptions(new String[]{"dd", "ee", "ff"}, "aa", "bb", "cc")); }