docs: protected List<File> getClassPath() throws MojoExecutionException {
  		if (this.bufferedClasspath == null) {
  			final Set<String> classPath = new LinkedHashSet<>();
  			final MavenProject project = getProject();
  			classPath.add(project.getBuild().getSourceDirectory());
  			try {
  				classPath.addAll(project.getCompileClasspathElements());
  			} catch (DependencyResolutionRequiredException e) {
  				throw new MojoExecutionException(e.getLocalizedMessage(), e);
  			}
  			for (final Artifact dep : project.getArtifacts()) {
  				classPath.add(dep.getFile().getAbsolutePath());
  			}
  			classPath.remove(project.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);
  				} else {
  					getLog().warn(MessageFormat.format(Messages.AbstractSarlBatchCompilerMojo_10, filename));
  				}
  			}
  			this.bufferedClasspath = files;
  		}
  		return this.bufferedClasspath;
  	}