### Question:
InheritanceHelper { public static final <T, C extends ConfigFunction<T>> List<C> mergeLists( Collection<? extends C> childList, Collection<? extends C> parentList) { List<C> returnList = new ArrayList<C>(childList); for (C parentFunction : parentList) { if (!hasAnalogousFunction(parentFunction, childList)) { returnList.add(parentFunction); } } return returnList; } private  InheritanceHelper(); static final List<C> mergeLists(
            Collection<? extends C> childList, Collection<? extends C> parentList);  }### Answer:
@Test public void testEmptyChildList() { List<Resource> parentList = Arrays.asList( Resource.createResource(null, DungeonGen.class, 4, 100, 10, 30), Resource.createResource(null, DungeonGen.class, 1, 50, 30, 60) ); List<Resource> childList = Collections.emptyList(); List<Resource> result = InheritanceHelper.mergeLists(childList, parentList); assertEquals(parentList, result); }
@Test public void testOverrides() { List<Resource> parentList = Arrays.asList( Resource.createResource(null, DungeonGen.class, 4, 100, 10, 30)); List<Resource> childList = Arrays.asList( Resource.createResource(null, DungeonGen.class, 1, 50, 30, 60)); List<Resource> result = InheritanceHelper.mergeLists(childList, parentList); assertEquals(childList, result); }