CompositeTemplateLoader implements TemplateLoader { @Override public TemplateSource sourceAt(final String location) throws IOException { for (TemplateLoader delegate : delegates) { try { return delegate.sourceAt(location); } catch (IOException ex) { logger.trace("Unable to resolve: {}, trying next loader in the chain.", location); } } throw new FileNotFoundException(location); } CompositeTemplateLoader(final TemplateLoader... loaders); @Override TemplateSource sourceAt(final String location); @Override String resolve(final String location); @Override String getPrefix(); @Override String getSuffix(); @Override void setPrefix(final String prefix); @Override void setSuffix(final String suffix); @Override void setCharset(final Charset charset); @Override Charset getCharset(); Iterable<TemplateLoader> getDelegates();  }
@Test public void sourceAtCp() throws IOException { assertNotNull(loader.sourceAt("template")); }
@Test public void sourceAtFs() throws IOException { assertNotNull(loader.sourceAt("home")); }