Program: 29420
Project: 29420
Buggy source:
@Override void processArtifact(final Set<URI> artifactURIsProcessed,final Collection<FullAndPartURIs> downloadsForThisArtifact,final Collection<FullAndPartURIs> downloadsForReferencedArtifacts) throws IOException {
  final URI fileURI=physicalFile().toURI();
  final URI uriWithinEAR=canonicalURIWithinEAR();
  if (artifactURIsProcessed.contains(uriWithinEAR)) {
    return;
  }
  final URI uriWithinAnchor=earDirUserURI(dc()).resolve(uriWithinEAR);
  Artifacts.FullAndPartURIs fileDependency=new FullAndPartURIs(fileURI,uriWithinAnchor);
  downloadsForReferencedArtifacts.add(fileDependency);
  signedJARManager.addJAR(uriWithinAnchor,fileURI);
  recordArtifactAsProcessed(artifactURIsProcessed,downloadsForThisArtifact);
  Manifest jarManifest;
  try {
    final JarFile dependentJar=new JarFile(physicalFile());
    jarManifest=dependentJar.getManifest();
    dependentJar.close();
    if (jarManifest == null) {
      logger.log(Level.WARNING,"String_Node_Str",fileURI.toASCIIString());
      return;
    }
  }
 catch (  IOException ex) {
    return;
  }
  final Attributes mainAttrs=jarManifest.getMainAttributes();
  if (mainAttrs == null) {
    logger.log(Level.WARNING,"String_Node_Str",fileURI.toASCIIString());
    return;
  }
  final String jarClassPath=mainAttrs.getValue(Attributes.Name.CLASS_PATH);
  if (jarClassPath != null) {
    for (    String elt : jarClassPath.split("String_Node_Str")) {
      if (elt.trim().length() > 0) {
        final URI eltURI=URI.create(elt);
        final Artifact classPathArtifact=newArtifact(this,eltURI);
        if (classPathArtifact != null) {
          classPathArtifact.processArtifact(artifactURIsProcessed,downloadsForReferencedArtifacts,downloadsForReferencedArtifacts);
        }
      }
    }
  }
}

Fixed version (ground truth):
@Override void processArtifact(final Set<URI> artifactURIsProcessed,final Collection<FullAndPartURIs> downloadsForThisArtifact,final Collection<FullAndPartURIs> downloadsForReferencedArtifacts) throws IOException {
  final URI fileURI=physicalFile().toURI();
  final URI uriWithinEAR=canonicalURIWithinEAR();
  if (artifactURIsProcessed.contains(uriWithinEAR)) {
    return;
  }
  final URI uriWithinAnchor=earDirUserURI(dc()).resolve(uriWithinEAR);
  Artifacts.FullAndPartURIs fileDependency=new FullAndPartURIs(fileURI,uriWithinAnchor);
  downloadsForReferencedArtifacts.add(fileDependency);
  signedJARManager.addJAR(uriWithinAnchor,fileURI);
  recordArtifactAsProcessed(artifactURIsProcessed,downloadsForThisArtifact);
  Manifest jarManifest;
  try {
    final JarFile dependentJar=new JarFile(physicalFile());
    try {
      jarManifest=dependentJar.getManifest();
    }
  finally {
      dependentJar.close();
    }
    if (jarManifest == null) {
      logger.log(Level.WARNING,"String_Node_Str",fileURI.toASCIIString());
      return;
    }
  }
 catch (  IOException ex) {
    return;
  }
  final Attributes mainAttrs=jarManifest.getMainAttributes();
  if (mainAttrs == null) {
    logger.log(Level.WARNING,"String_Node_Str",fileURI.toASCIIString());
    return;
  }
  final String jarClassPath=mainAttrs.getValue(Attributes.Name.CLASS_PATH);
  if (jarClassPath != null) {
    for (    String elt : jarClassPath.split("String_Node_Str")) {
      if (elt.trim().length() > 0) {
        final URI eltURI=URI.create(elt);
        final Artifact classPathArtifact=newArtifact(this,eltURI);
        if (classPathArtifact != null) {
          classPathArtifact.processArtifact(artifactURIsProcessed,downloadsForReferencedArtifacts,downloadsForReferencedArtifacts);
        }
      }
    }
  }
}