code: private JavaArtifactFileDescriptor scanArtifact(MavenProjectDirectoryDescriptor projectDescriptor, ArtifactFileDescriptor artifactDescriptor, File file,
              String path, Scanner scanner) {
          JavaArtifactFileDescriptor javaArtifactFileDescriptor = scanner.getContext().getStore().addDescriptorType(artifactDescriptor,
                  JavaClassesDirectoryDescriptor.class);
          ScannerContext context = scanner.getContext();
          context.push(JavaArtifactFileDescriptor.class, javaArtifactFileDescriptor);
          try {
              return scanFile(projectDescriptor, file, path, CLASSPATH, scanner);
          } finally {
              context.pop(JavaArtifactFileDescriptor.class);
          }
      }
docs: Scan a {@link File} that represents a Java artifact.
  
  @param projectDescriptor
  The maven project descriptor.
  @param artifactDescriptor
  The resolved {@link MavenArtifactDescriptor}.
  @param file
  The {@link File}.
  @param path
  The path of the file.
  @param scanner
  The {@link Scanner}.