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;
  }
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
Constructs a new AssetClassLoader that includes the public dir if present in the provided working dir