modules/jooby-assets/src/main/java/org/jooby/assets/AssetClassLoader.java
public static ClassLoader classLoader(final ClassLoader parent, File projectDir) throws IOException {
    requireNonNull(parent, "ClassLoader required.");
    File publicDir = new File(projectDir, "public");
    if(publicDir.exists()) {
      return new URLClassLoader(new URL[]{publicDir.toURI().toURL()}, parent);
    }
    return parent;
  }
public static ClassLoader classLoader(final ClassLoader parent, File projectDir) throws IOException {
    requireNonNull(parent, "ClassLoader required.");
    File publicDir = new File(projectDir, "public");
    if(publicDir.exists()) {
      return new URLClassLoader(new URL[]{publicDir.toURI().toURL()}, parent);
    }
    return parent;
  }
Constructs a new AssetClassLoader that includes the 'public' dir if present in the provided working dir

@param parent parent classloader
@param projectDir working dir to use
@return classloader that includes the public dir if present
@throws IOException if an exception occurred