### Question:
Genericity { public void down(final List<? super String> list) { LOG.info(CollectionHelper.toString(list)); final Object obj = list.get(0); LOG.info("list.get(0): " + obj); list.add("ha ha ha"); }  void wildcard(final List<?> list); void up(final List<? extends Number> numbers); void down(final List<? super String> list);  }### Answer:
@Test public void testDown() { final List<String> strs = new ArrayList<>(); strs.addAll(Arrays.asList("my", "name", "is", "bascker")); sample.down(strs); final List<Object> objects = new ArrayList<>(); objects.addAll(Arrays.asList(new Object(), new Object())); sample.down(objects); }