docs: protected List<File> getClassPath() throws IOException {
  		final Set<String> classPath = new LinkedHashSet<>();
  		classPath.add(this.session.getCurrentProject().getBuild().getSourceDirectory());
  		try {
  			classPath.addAll(this.session.getCurrentProject().getCompileClasspathElements());
  		} catch (DependencyResolutionRequiredException e) {
  			throw new IOException(e.getLocalizedMessage(), e);
  		}
  		for (final Artifact dep : this.session.getCurrentProject().getArtifacts()) {
  			classPath.add(dep.getFile().getAbsolutePath());
  		}
  		classPath.remove(this.session.getCurrentProject().getBuild().getOutputDirectory());
  		final List<File> files = new ArrayList<>();
  		for (final String filename : classPath) {
  			final File file = new File(filename);
  			if (file.exists()) {
  				files.add(file);
  			}
  		}
  		return files;
  	}