Program: 7806
Project: 7806
Buggy source:
/** 
 * Creates a jar files container coprocessors that are using by queue.
 * @param fileSystem
 * @param jarDir
 * @return The Path of the jar file on the file system.
 * @throws IOException
 */
private Path createCoProcessorJar(FileSystem fileSystem,Path jarDir) throws IOException {
  final Set<String> acceptClasses=ImmutableSet.of(HBaseQueueEvictionEndpoint.class.getName(),HBaseQueueEvictionProtocol.class.getName());
  File jarFile=File.createTempFile("String_Node_Str","String_Node_Str");
  try {
    final JarOutputStream jarOutput=new JarOutputStream(new FileOutputStream(jarFile));
    try {
      Dependencies.findClassDependencies(HBaseQueueEvictionEndpoint.class.getClassLoader(),new Dependencies.ClassAcceptor(){
        @Override public boolean accept(        String className,        final URL classUrl,        URL classPathUrl){
          if (acceptClasses.contains(className)) {
            try {
              jarOutput.putNextEntry(new JarEntry(className.replace('.',File.separatorChar) + "String_Node_Str"));
              ByteStreams.copy(new InputSupplier<InputStream>(){
                @Override public InputStream getInput() throws IOException {
                  return classUrl.openStream();
                }
              }
,jarOutput);
              return true;
            }
 catch (            IOException e) {
              throw Throwables.propagate(e);
            }
          }
          return false;
        }
      }
,HBaseQueueEvictionEndpoint.class.getName());
    }
  finally {
      jarOutput.close();
    }
    Path targetPath=new Path(jarDir,Files.hash(jarFile,Hashing.md5()).toString() + "String_Node_Str");
    if (fileSystem.exists(targetPath) && fileSystem.getFileStatus(targetPath).getLen() == jarFile.length()) {
      return targetPath;
    }
    if (!fileSystem.mkdirs(jarDir)) {
      System.out.println("String_Node_Str");
    }
    fileSystem.copyFromLocalFile(false,true,new Path(jarFile.toURI()),targetPath);
    return targetPath;
  }
  finally {
    jarFile.delete();
  }
}

Fixed version (ground truth):
/** 
 * Creates a jar files container coprocessors that are using by queue.
 * @param fileSystem
 * @param jarDir
 * @return The Path of the jar file on the file system.
 * @throws IOException
 */
private Path createCoProcessorJar(FileSystem fileSystem,Path jarDir) throws IOException {
  final Hasher hasher=Hashing.md5().newHasher();
  final byte[] buffer=new byte[COPY_BUFFER_SIZE];
  File jarFile=File.createTempFile("String_Node_Str","String_Node_Str");
  try {
    final JarOutputStream jarOutput=new JarOutputStream(new FileOutputStream(jarFile));
    try {
      Dependencies.findClassDependencies(HBaseQueueEvictionEndpoint.class.getClassLoader(),new Dependencies.ClassAcceptor(){
        @Override public boolean accept(        String className,        final URL classUrl,        URL classPathUrl){
          if (className.startsWith("String_Node_Str")) {
            try {
              jarOutput.putNextEntry(new JarEntry(className.replace('.',File.separatorChar) + "String_Node_Str"));
              InputStream inputStream=classUrl.openStream();
              try {
                int len=inputStream.read(buffer);
                while (len >= 0) {
                  hasher.putBytes(buffer,0,len);
                  jarOutput.write(buffer,0,len);
                  len=inputStream.read(buffer);
                }
              }
  finally {
                inputStream.close();
              }
              return true;
            }
 catch (            IOException e) {
              throw Throwables.propagate(e);
            }
          }
          return false;
        }
      }
,HBaseQueueEvictionEndpoint.class.getName());
    }
  finally {
      jarOutput.close();
    }
    Path targetPath=new Path(jarDir,"String_Node_Str" + hasher.hash().toString() + "String_Node_Str");
    if (fileSystem.exists(targetPath) && fileSystem.getFileStatus(targetPath).getLen() == jarFile.length()) {
      return targetPath;
    }
    if (!fileSystem.mkdirs(jarDir)) {
      System.out.println("String_Node_Str");
    }
    fileSystem.copyFromLocalFile(false,true,new Path(jarFile.toURI()),targetPath);
    return targetPath;
  }
  finally {
    jarFile.delete();
  }
}