docs: protected ClassLoader getClassLoader(Set<Artifact> artifacts) throws Exception {
          Set<URL> classpathURLs = new LinkedHashSet<URL>();
  
          addCustomClasspaths(classpathURLs, true);
  
          // add ourselves to top of classpath
          URL mainClasses = new File(project.getBuild().getOutputDirectory()).toURI().toURL();
          getLog().debug("Adding to classpath : " + mainClasses);
          classpathURLs.add(mainClasses);
  
          for (Artifact artifact : artifacts) {
              File file = artifact.getFile();
              if (file != null) {
                  classpathURLs.add(file.toURI().toURL());
              }
          }
  
          addCustomClasspaths(classpathURLs, false);
  
          if (logClasspath) {
              getLog().info("Classpath (" + classpathURLs.size() + " entries):");
              for (URL url : classpathURLs) {
                  getLog().info("  " + url.getFile().toString());
              }
          }
          return new URLClassLoader(classpathURLs.toArray(new URL[classpathURLs.size()]));
      }