Program: 81502
Project: 81502
Buggy source:
void refresh(IProgressMonitor monitor,String repositoryUrl) throws MantisException {
synchronized (sync) {
    long start=System.currentTimeMillis();
    SubMonitor subMonitor=SubMonitor.convert(monitor);
    try {
      cacheProjects(soapClient.getProjectData(monitor));
      subMonitor.beginTask("String_Node_Str",cacheData.projects.size() * 6 + 15);
      cacheReporterThreshold(soapClient.getStringConfiguration(monitor,REPORTER_THRESHOLD));
      Policy.advance(subMonitor,1);
      cacheDeveloperThreshold(soapClient.getStringConfiguration(monitor,DEVELOPER_THRESHOLD));
      Policy.advance(subMonitor,1);
      cacheDueDateViewThreshold(soapClient.getStringConfiguration(monitor,DUE_DATE_VIEW_THRESOLD));
      Policy.advance(subMonitor,1);
      cacheDueDateUpdateThreshold(soapClient.getStringConfiguration(monitor,DUE_DATE_UPDATE_THRESOLD));
      Policy.advance(subMonitor,1);
      cacheTimeTrackingEnabled(soapClient.getStringConfiguration(monitor,TIME_TRACKING_ENABLED));
      Policy.advance(subMonitor,1);
      for (      MantisProject project : cacheData.projects) {
        cacheFilters(project.getValue(),soapClient.getProjectFilters(project.getValue(),monitor));
        Policy.advance(subMonitor,1);
        cacheProjectCustomFields(project.getValue(),soapClient.getProjectCustomFields(project.getValue(),monitor));
        Policy.advance(subMonitor,1);
        cacheProjectCategories(project.getValue(),soapClient.getProjectCategories(project.getValue(),monitor));
        Policy.advance(subMonitor,1);
        cacheProjectDevelopers(project.getValue(),soapClient.getProjectUsers(project.getValue(),cacheData.developerThreshold,monitor));
        Policy.advance(subMonitor,1);
        try {
          cacheProjectReporters(project.getValue(),soapClient.getProjectUsers(project.getValue(),cacheData.reporterThreshold,monitor));
        }
 catch (        MantisException e) {
          if (!cacheData.reportersByProjectId.containsKey(project.getValue())) {
            cacheData.reportersByProjectId.put(project.getValue(),new ArrayList<String>(cacheData.developersByProjectId.get(project.getValue())));
            MantisCorePlugin.log(new Status(Status.WARNING,MantisCorePlugin.PLUGIN_ID,"String_Node_Str",e));
          }
 else {
            MantisCorePlugin.log(new Status(Status.WARNING,MantisCorePlugin.PLUGIN_ID,"String_Node_Str",e));
          }
        }
        Policy.advance(subMonitor,1);
        cacheProjectVersions(project.getValue(),soapClient.getProjectVersions(project.getValue(),monitor));
        Policy.advance(subMonitor,1);
      }
      cacheResolvedStatus(soapClient.getStringConfiguration(monitor,RESOLVED_STATUS_THRESHOLD));
      Policy.advance(subMonitor,1);
      cacheRepositoryVersion(soapClient.getVersion(monitor));
      Policy.advance(subMonitor,1);
      cachePriorities(soapClient.getPriorities(monitor));
      Policy.advance(subMonitor,1);
      cacheStatuses(soapClient.getStatuses(monitor));
      Policy.advance(subMonitor,1);
      cacheSeverities(soapClient.getSeverities(monitor));
      Policy.advance(subMonitor,1);
      cacheResolutions(soapClient.getResolutions(monitor));
      Policy.advance(subMonitor,1);
      cacheReproducibilites(soapClient.getReproducibilities(monitor));
      Policy.advance(subMonitor,1);
      cacheProjections(soapClient.getProjections(monitor));
      Policy.advance(subMonitor,1);
      cacheEtas(soapClient.getEtas(monitor));
      Policy.advance(subMonitor,1);
      cacheViewStates(soapClient.getViewStates(monitor));
      Policy.advance(subMonitor,1);
      cacheData.lastUpdate=System.currentTimeMillis();
    }
  finally {
      subMonitor.done();
      MantisCorePlugin.log(new Status(Status.INFO,MantisCorePlugin.PLUGIN_ID,"String_Node_Str" + repositoryUrl + "String_Node_Str"+ format(start)+ "String_Node_Str"));
    }
  }
}

Fixed version (ground truth):
void refresh(IProgressMonitor monitor,String repositoryUrl) throws MantisException {
synchronized (sync) {
    long start=System.currentTimeMillis();
    SubMonitor subMonitor=SubMonitor.convert(monitor);
    try {
      cacheProjects(soapClient.getProjectData(monitor));
      subMonitor.beginTask("String_Node_Str",cacheData.projects.size() * 6 + 15);
      cacheReporterThreshold(soapClient.getStringConfiguration(monitor,REPORTER_THRESHOLD));
      Policy.advance(subMonitor,1);
      cacheDeveloperThreshold(soapClient.getStringConfiguration(monitor,DEVELOPER_THRESHOLD));
      Policy.advance(subMonitor,1);
      try {
        cacheDueDateViewThreshold(soapClient.getStringConfiguration(monitor,DUE_DATE_VIEW_THRESOLD));
      }
 catch (      MantisException e) {
        MantisCorePlugin.log(new Status(Status.WARNING,MantisCorePlugin.PLUGIN_ID,"String_Node_Str" + e.getMessage() + "String_Node_Str"));
        cacheDueDateViewThreshold(ACCESS_LEVEL_NOBODY + "String_Node_Str");
      }
 finally {
        Policy.advance(subMonitor,1);
      }
      try {
        cacheDueDateUpdateThreshold(soapClient.getStringConfiguration(monitor,DUE_DATE_UPDATE_THRESOLD));
      }
 catch (      MantisException e) {
        MantisCorePlugin.log(new Status(Status.WARNING,MantisCorePlugin.PLUGIN_ID,"String_Node_Str" + e.getMessage() + "String_Node_Str"));
        cacheDueDateUpdateThreshold(ACCESS_LEVEL_NOBODY + "String_Node_Str");
      }
 finally {
        Policy.advance(subMonitor,1);
      }
      try {
        cacheTimeTrackingEnabled(soapClient.getStringConfiguration(monitor,TIME_TRACKING_ENABLED));
      }
 catch (      MantisException e) {
        MantisCorePlugin.log(new Status(Status.WARNING,MantisCorePlugin.PLUGIN_ID,"String_Node_Str" + e.getMessage() + "String_Node_Str"));
        cacheTimeTrackingEnabled(Boolean.FALSE.toString());
      }
 finally {
        Policy.advance(subMonitor,1);
      }
      for (      MantisProject project : cacheData.projects) {
        cacheFilters(project.getValue(),soapClient.getProjectFilters(project.getValue(),monitor));
        Policy.advance(subMonitor,1);
        cacheProjectCustomFields(project.getValue(),soapClient.getProjectCustomFields(project.getValue(),monitor));
        Policy.advance(subMonitor,1);
        cacheProjectCategories(project.getValue(),soapClient.getProjectCategories(project.getValue(),monitor));
        Policy.advance(subMonitor,1);
        cacheProjectDevelopers(project.getValue(),soapClient.getProjectUsers(project.getValue(),cacheData.developerThreshold,monitor));
        Policy.advance(subMonitor,1);
        try {
          cacheProjectReporters(project.getValue(),soapClient.getProjectUsers(project.getValue(),cacheData.reporterThreshold,monitor));
        }
 catch (        MantisException e) {
          if (!cacheData.reportersByProjectId.containsKey(project.getValue())) {
            cacheData.reportersByProjectId.put(project.getValue(),new ArrayList<String>(cacheData.developersByProjectId.get(project.getValue())));
            MantisCorePlugin.log(new Status(Status.WARNING,MantisCorePlugin.PLUGIN_ID,"String_Node_Str",e));
          }
 else {
            MantisCorePlugin.log(new Status(Status.WARNING,MantisCorePlugin.PLUGIN_ID,"String_Node_Str",e));
          }
        }
        Policy.advance(subMonitor,1);
        cacheProjectVersions(project.getValue(),soapClient.getProjectVersions(project.getValue(),monitor));
        Policy.advance(subMonitor,1);
      }
      cacheResolvedStatus(soapClient.getStringConfiguration(monitor,RESOLVED_STATUS_THRESHOLD));
      Policy.advance(subMonitor,1);
      cacheRepositoryVersion(soapClient.getVersion(monitor));
      Policy.advance(subMonitor,1);
      cachePriorities(soapClient.getPriorities(monitor));
      Policy.advance(subMonitor,1);
      cacheStatuses(soapClient.getStatuses(monitor));
      Policy.advance(subMonitor,1);
      cacheSeverities(soapClient.getSeverities(monitor));
      Policy.advance(subMonitor,1);
      cacheResolutions(soapClient.getResolutions(monitor));
      Policy.advance(subMonitor,1);
      cacheReproducibilites(soapClient.getReproducibilities(monitor));
      Policy.advance(subMonitor,1);
      cacheProjections(soapClient.getProjections(monitor));
      Policy.advance(subMonitor,1);
      cacheEtas(soapClient.getEtas(monitor));
      Policy.advance(subMonitor,1);
      cacheViewStates(soapClient.getViewStates(monitor));
      Policy.advance(subMonitor,1);
      cacheData.lastUpdate=System.currentTimeMillis();
    }
  finally {
      subMonitor.done();
      MantisCorePlugin.log(new Status(Status.INFO,MantisCorePlugin.PLUGIN_ID,"String_Node_Str" + repositoryUrl + "String_Node_Str"+ format(start)+ "String_Node_Str"));
    }
  }
}