code: public void addClasspath(List<File> classpath) throws IOException {
          Validate.notNull(classpath);
          Validate.noNullElements(classpath);
  
          for (File classpathElement : classpath) {
              if (classpathElement.isFile()) {
                  addJar(classpathElement);
              } else if (classpathElement.isDirectory()) {
                  addDirectory(classpathElement);
              } else {
                  throw new IllegalStateException();
              }
          }
      }
docs: Add classes contained within a list of JAR files and folders. Note that if a duplicate class is encountered, the original is kept.
  @param classpath list of JARs and folders to scan
  @throws NullPointerException if any argument is {@code null} or contains {@code null} elements
  @throws IOException if an IO error occurs