### Question:
Utils { static <F, T> List<T> mapList(List<F> list, Function<? super F, ? extends T> mapper) { requireNonNull(list); requireNonNull(mapper); return new AbstractList<T>() { @Override public int size() { return list.size(); } @Override public T get(int index) { return mapper.apply(list.get(index)); } }; }    }### Answer:
@Test public void testMapList_empty() { assertThat(Utils.mapList(asList(), Object::toString)).isEmpty(); }
@Test public void testMapList_nonEmpty() { assertThat(Utils.mapList(asList(1, 2), Object::toString)).containsExactly("1", "2").inOrder(); }