code: public <T> List<Path.Entry<T>> find(List<File> files,
  			Content.Type<T> contentType)
  			throws IOException {
  		ArrayList<Path.Entry<T>> sources = new ArrayList<>();
  		String suffix = "." + contentTypes.suffix(contentType);
  		String location = location().getCanonicalPath();
  
  		for (File file : files) {
  			String filePath = file.getCanonicalPath();
  			if (filePath.startsWith(location)) {
  				int end = location.length();
  				if (end > 1) {
  					end++;
  				}
  				String module = filePath.substring(end).replace(
  						File.separatorChar, '/');
  				if (module.endsWith(suffix)) {
  					module = module.substring(0,
  							module.length() - suffix.length());
  					Path.ID mid = Trie.fromString(module);
  					Path.Entry<T> entry = this.get(mid, contentType);
  					if (entry != null) {
  						sources.add(entry);
  						continue;
  					}
  				}
  			}
  		}
  
  		return sources;
  	}
docs: Given a list of physical files on the file system, determine their
  corresponding <code>Path.Entry</code> instances in this root (if there
  are any).
  
  @param files
  --- list of files on the physical file system.
  @param contentType
  --- content type of files to match.
  @return --- list of path entries where each entry matches the
  corresponding entry in files, or is null (if there is no match).
  @throws IOException