code: public static ClassPath from(ClassLoader classloader) throws IOException {
      DefaultScanner scanner = new DefaultScanner();
      scanner.scan(classloader);
      return new ClassPath(scanner.getResources());
    }
docs: Returns a {@code ClassPath} representing all classes and resources loadable from {@code
  classloader} and its ancestor class loaders.
  
  <p><b>Warning:</b> {@code ClassPath} can find classes and resources only from:
  
  <ul>
  <li>{@link URLClassLoader} instances' {@code file:} URLs
  <li>the {@linkplain ClassLoader#getSystemClassLoader() system class loader}. To search the
  system class loader even when it is not a {@link URLClassLoader} (as in Java 9), {@code
  ClassPath} searches the files from the {@code java.class.path} system property.
  </ul>
  
  @throws IOException if the attempt to read class path resources (jar files or directories)
  failed.