/** Tries each {@link ResourceLocator} in order, the first to return non-null wins. */ @Override public InputStream findResource(URI systemId) { for (final ResourceLocator resourceLocator : resourceLocators) { logger.trace("Trying {} using ResourceLocator {}", systemId, resourceLocator); final InputStream result = resourceLocator.findResource(systemId); if (result != null) { logger.trace("Success with ResourceLocator {}", resourceLocator); return result; } logger.trace("No success with ResourceLocator {}", resourceLocator); } return null; }