Program: 127183
Project: 127183
Buggy source:
private void resetAndRefreshLocal(final String names[]){
  resetModulesNeeded();
  Project currentProject=ProjectManager.getInstance().getCurrentProject();
  final String projectLabel=currentProject.getTechnicalLabel();
  IWorkspace workspace=ResourcesPlugin.getWorkspace();
  final IProject eclipseProject=workspace.getRoot().getProject(projectLabel);
  try {
    for (    String name : names) {
      String path=new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath();
      path=path + File.separatorChar + projectLabel+ File.separatorChar+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.LIBS)+ File.separatorChar+ name;
      File libsTargetFile=new File(path);
      File source=new File(LibrariesManagerUtils.getLibrariesPath(ECodeLanguage.JAVA) + File.separatorChar + name);
      synJavaLibs(source);
    }
  }
 catch (  IOException e) {
    CommonExceptionHandler.process(e);
  }
  if (PluginChecker.isSVNProviderPluginLoaded()) {
    ISVNProviderServiceInCoreRuntime service=(ISVNProviderServiceInCoreRuntime)GlobalServiceRegister.getDefault().getService(ISVNProviderServiceInCoreRuntime.class);
    if (service != null) {
      File libFile=new File(LibrariesManagerUtils.getLibrariesPath(ECodeLanguage.JAVA));
      if (service.isSvnLibSetupOnTAC() && service.isInSvn(libFile.getAbsolutePath()) && !getRepositoryContext().isOffline()) {
        List jars=new ArrayList();
        for (        String name : names) {
          jars.add(libFile.getAbsolutePath() + File.separatorChar + name);
        }
        service.deployNewJar(jars);
        return;
      }
    }
  }
  if (PluginChecker.isSVNProviderPluginLoaded()) {
    final RepositoryWorkUnit repositoryWorkUnit=new RepositoryWorkUnit(currentProject,"String_Node_Str"){
      @Override public void run() throws PersistenceException {
        try {
          for (          String name : names) {
            String path=new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath();
            path=path + File.separatorChar + projectLabel+ File.separatorChar+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.LIBS)+ File.separatorChar+ name;
            File libsTargetFile=new File(path);
            File source=new File(LibrariesManagerUtils.getLibrariesPath(ECodeLanguage.JAVA) + File.separatorChar + name);
            FilesUtils.copyFile(source,libsTargetFile);
          }
          eclipseProject.refreshLocal(IResource.DEPTH_INFINITE,new NullProgressMonitor());
        }
 catch (        IOException e) {
          CommonExceptionHandler.process(e);
        }
catch (        CoreException e) {
          CommonExceptionHandler.process(e);
        }
      }
    }
;
    repositoryWorkUnit.setAvoidUnloadResources(true);
    if (GlobalServiceRegister.getDefault().isServiceRegistered(IRepositoryService.class)) {
      new Thread(){
        @Override public void run(){
          IRepositoryService service=(IRepositoryService)GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
          service.getProxyRepositoryFactory().executeRepositoryWorkUnit(repositoryWorkUnit);
        }
      }
.start();
    }
  }
}

Fixed version (ground truth):
private void resetAndRefreshLocal(final String names[]){
  resetModulesNeeded();
  Project currentProject=ProjectManager.getInstance().getCurrentProject();
  final String projectLabel=currentProject.getTechnicalLabel();
  IWorkspace workspace=ResourcesPlugin.getWorkspace();
  final IProject eclipseProject=workspace.getRoot().getProject(projectLabel);
  try {
    for (    String name : names) {
      String path=new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath();
      path=path + File.separatorChar + projectLabel+ File.separatorChar+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.LIBS)+ File.separatorChar+ name;
      File libsTargetFile=new File(path);
      File source=new File(LibrariesManagerUtils.getLibrariesPath(ECodeLanguage.JAVA) + File.separatorChar + name);
      synJavaLibs(source);
    }
  }
 catch (  IOException e) {
    CommonExceptionHandler.process(e);
  }
  if (PluginChecker.isSVNProviderPluginLoaded()) {
    ISVNProviderServiceInCoreRuntime service=(ISVNProviderServiceInCoreRuntime)GlobalServiceRegister.getDefault().getService(ISVNProviderServiceInCoreRuntime.class);
    if (service != null) {
      File libFile=new File(LibrariesManagerUtils.getLibrariesPath(ECodeLanguage.JAVA));
      boolean localConnectionProvider=true;
      IProxyRepositoryFactory proxyRepositoryFactory=CoreRuntimePlugin.getInstance().getProxyRepositoryFactory();
      if (proxyRepositoryFactory != null) {
        try {
          localConnectionProvider=proxyRepositoryFactory.isLocalConnectionProvider();
        }
 catch (        PersistenceException e) {
        }
      }
      if (!localConnectionProvider && service.isSvnLibSetupOnTAC() && service.isInSvn(libFile.getAbsolutePath())&& !getRepositoryContext().isOffline()) {
        List jars=new ArrayList();
        for (        String name : names) {
          jars.add(libFile.getAbsolutePath() + File.separatorChar + name);
        }
        service.deployNewJar(jars);
        return;
      }
    }
    final RepositoryWorkUnit repositoryWorkUnit=new RepositoryWorkUnit(currentProject,"String_Node_Str"){
      @Override public void run() throws PersistenceException {
        try {
          for (          String name : names) {
            String path=new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath();
            path=path + File.separatorChar + projectLabel+ File.separatorChar+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.LIBS)+ File.separatorChar+ name;
            File libsTargetFile=new File(path);
            File source=new File(LibrariesManagerUtils.getLibrariesPath(ECodeLanguage.JAVA) + File.separatorChar + name);
            FilesUtils.copyFile(source,libsTargetFile);
          }
          eclipseProject.refreshLocal(IResource.DEPTH_INFINITE,new NullProgressMonitor());
        }
 catch (        IOException e) {
          CommonExceptionHandler.process(e);
        }
catch (        CoreException e) {
          CommonExceptionHandler.process(e);
        }
      }
    }
;
    repositoryWorkUnit.setAvoidUnloadResources(true);
    if (GlobalServiceRegister.getDefault().isServiceRegistered(IRepositoryService.class)) {
      new Thread(){
        @Override public void run(){
          IRepositoryService service=(IRepositoryService)GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
          service.getProxyRepositoryFactory().executeRepositoryWorkUnit(repositoryWorkUnit);
        }
      }
.start();
    }
  }
}