docs: protected Resource requireResource(String path) throws IOException {
      URL url = getClass().getClassLoader().getResource(pathPrefix + path);
      if (url != null) {
        return url.getProtocol().equals("file") ?
          new FileResource(new File(URLDecoder.decode(url.getPath(), "UTF-8"))) :
          new URLResource(url);
      }
      for (File dir : directories) {
        File f = new File(dir, path).getCanonicalFile();
        if (f.exists()) {
          return new FileResource(f);
        }
      }
      throw new FileNotFoundException(path);
    }