code: 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;
    }
docs: 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