Program: 96475
Project: 96475
Buggy source:
private void copyBinaryJars(List<IProject> list,IPath location){
  FileChannel inChannel=null;
  FileChannel outChannel=null;
  try {
    for (    IProject project : list) {
      for (      IResource resource : project.members(true)) {
        if (("String_Node_Str".equalsIgnoreCase(resource.getFileExtension()))) {
          String jarId="String_Node_Str";
          IPluginModelBase[] models=PluginRegistry.getWorkspaceModels();
          for (          IPluginModelBase iPluginModelBase : models) {
            if (iPluginModelBase.getPluginBase().getId().equalsIgnoreCase(resource.getProject().getName())) {
              iPluginModelBase.getPluginBase().getId();
              jarId=iPluginModelBase.getPluginBase().getId() + "String_Node_Str" + iPluginModelBase.getPluginBase().getVersion()+ "String_Node_Str";
            }
          }
          inChannel=new FileInputStream(new File(resource.getLocationURI())).getChannel();
          outChannel=new FileOutputStream(new File(location.append(jarId).makeAbsolute().toPortableString())).getChannel();
          inChannel.transferTo(0,inChannel.size(),outChannel);
          break;
        }
      }
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
catch (  CoreException e) {
    e.printStackTrace();
  }
 finally {
    if (inChannel != null)     try {
      inChannel.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
    if (outChannel != null)     try {
      outChannel.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
  }
}

Fixed version (ground truth):
private static void copyBinaryJars(List<IProject> list,IPath location){
  FileInputStream fIn=null;
  FileOutputStream fOut=null;
  FileChannel inChannel=null;
  FileChannel outChannel=null;
  try {
    for (    IProject project : list) {
      for (      IResource resource : project.members(true)) {
        if (("String_Node_Str".equalsIgnoreCase(resource.getFileExtension()))) {
          String jarId="String_Node_Str";
          IPluginModelBase[] models=PluginRegistry.getWorkspaceModels();
          for (          IPluginModelBase iPluginModelBase : models) {
            if (iPluginModelBase.getPluginBase().getId().equalsIgnoreCase(resource.getProject().getName())) {
              iPluginModelBase.getPluginBase().getId();
              jarId=iPluginModelBase.getPluginBase().getId() + "String_Node_Str" + iPluginModelBase.getPluginBase().getVersion()+ "String_Node_Str";
            }
          }
          fIn=new FileInputStream(new File(resource.getLocationURI()));
          fOut=new FileOutputStream(new File(location.append(jarId).makeAbsolute().toPortableString()));
          inChannel=fIn.getChannel();
          outChannel=fOut.getChannel();
          inChannel.transferTo(0,inChannel.size(),outChannel);
          break;
        }
      }
    }
  }
 catch (  IOException e) {
    e.printStackTrace();
  }
catch (  CoreException e) {
    e.printStackTrace();
  }
 finally {
    if (fIn != null)     try {
      fIn.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
    if (fOut != null)     try {
      fOut.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
  }
}