Program: 129331
Project: 129331
Buggy source:
public void deployLibrary(URL source) throws IOException {
  LocalLibraryManager repositoryBundleService=(LocalLibraryManager)CorePlugin.getDefault().getRepositoryBundleService();
  final String decode=URLDecoder.decode(source.getFile(),"String_Node_Str");
  final File sourceFile=new File(decode);
  final File targetFile=new File(PreferencesUtilities.getLibrariesPath(ECodeLanguage.JAVA) + File.separatorChar + sourceFile.getName());
  if (!repositoryBundleService.contains(source.getFile())) {
    repositoryBundleService.deploy(sourceFile.toURI());
  }
  ModulesNeededProvider.userAddImportModules(targetFile.getPath(),sourceFile.getName(),ELibraryInstallStatus.INSTALLED);
  fireLibrariesChanges();
  Project currentProject=ProjectManager.getInstance().getCurrentProject();
  final String projectLabel=currentProject.getTechnicalLabel();
  IWorkspace workspace=ResourcesPlugin.getWorkspace();
  final IProject eclipseProject=workspace.getRoot().getProject(projectLabel);
  if (PluginChecker.isSVNProviderPluginLoaded()) {
    RepositoryWorkUnit repositoryWorkUnit=new RepositoryWorkUnit(currentProject,"String_Node_Str"){
      public void run() throws PersistenceException {
        String path=new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath();
        path=path + File.separatorChar + projectLabel+ File.separatorChar+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.LIBS)+ File.separatorChar+ sourceFile.getName();
        File libsTargetFile=new File(path);
        try {
          FilesUtils.copyFile(sourceFile,libsTargetFile);
          eclipseProject.refreshLocal(IResource.DEPTH_INFINITE,new NullProgressMonitor());
        }
 catch (        CoreException e1) {
          ExceptionHandler.process(e1);
        }
catch (        IOException e) {
          ExceptionHandler.process(e);
        }
      }
    }
;
    repositoryWorkUnit.setAvoidUnloadResources(true);
    CorePlugin.getDefault().getRepositoryService().getProxyRepositoryFactory().executeRepositoryWorkUnit(repositoryWorkUnit);
  }
}

Fixed version (ground truth):
@Override public void deployLibrary(URL source) throws IOException {
  LocalLibraryManager repositoryBundleService=(LocalLibraryManager)CorePlugin.getDefault().getRepositoryBundleService();
  final String decode=URLDecoder.decode(source.getFile(),"String_Node_Str");
  final File sourceFile=new File(decode);
  final File targetFile=new File(PreferencesUtilities.getLibrariesPath(ECodeLanguage.JAVA) + File.separatorChar + sourceFile.getName());
  if (!repositoryBundleService.contains(source.getFile())) {
    repositoryBundleService.deploy(sourceFile.toURI());
  }
  ModulesNeededProvider.userAddImportModules(targetFile.getPath(),sourceFile.getName(),ELibraryInstallStatus.INSTALLED);
  resetModulesNeeded();
  Project currentProject=ProjectManager.getInstance().getCurrentProject();
  final String projectLabel=currentProject.getTechnicalLabel();
  IWorkspace workspace=ResourcesPlugin.getWorkspace();
  final IProject eclipseProject=workspace.getRoot().getProject(projectLabel);
  if (PluginChecker.isSVNProviderPluginLoaded()) {
    RepositoryWorkUnit repositoryWorkUnit=new RepositoryWorkUnit(currentProject,"String_Node_Str"){
      @Override public void run() throws PersistenceException {
        String path=new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath();
        path=path + File.separatorChar + projectLabel+ File.separatorChar+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.LIBS)+ File.separatorChar+ sourceFile.getName();
        File libsTargetFile=new File(path);
        try {
          FilesUtils.copyFile(sourceFile,libsTargetFile);
          eclipseProject.refreshLocal(IResource.DEPTH_INFINITE,new NullProgressMonitor());
        }
 catch (        CoreException e1) {
          ExceptionHandler.process(e1);
        }
catch (        IOException e) {
          ExceptionHandler.process(e);
        }
      }
    }
;
    repositoryWorkUnit.setAvoidUnloadResources(true);
    CorePlugin.getDefault().getRepositoryService().getProxyRepositoryFactory().executeRepositoryWorkUnit(repositoryWorkUnit);
  }
}