### Question:
DefaultResourceManager implements ResourceManager { public final void addResourceResolvers(Collection<? extends ResourceResolver> resolvers) { int i = 0; for (ResourceResolver r : resolvers) { while (!registeredResolvers.contains(r)) { try { registeredResolvers.add(i++, r); } catch (IndexOutOfBoundsException e) { i = registeredResolvers.size(); } } } } DefaultResourceManager();  DefaultResourceManager(ResourceResolver resolver);  DefaultResourceManager(List<? extends ResourceResolver> resolvers); final T resolveResource(String name, Class<T> type); final T resolveResource(String name, Class<T> type, List<ResourceResolver> resolvers); final InputStream getResourceAsStream(String name); final void addResourceResolver(ResourceResolver resolver); final void addResourceResolvers(Collection<? extends ResourceResolver> resolvers); final void removeResourceResolver(ResourceResolver resolver); final List<ResourceResolver> getResourceResolvers();  }### Answer:
@Test public void testAddResolverList() { List<ResourceResolver> addedResolvers = new ArrayList<>(); for (int i = 0; i < 4; i++) { addedResolvers.add(new DummyResolver(resolvers[0].source)); } manager.addResourceResolvers(addedResolvers); DummyResolver[] expected = new DummyResolver[addedResolvers.size() + resolvers.length]; addedResolvers.toArray(expected); System.arraycopy(resolvers, 0, expected, addedResolvers.size(), resolvers.length); assertArrayEquals(expected, getResolvers(manager)); checkCallOrder(expected); }