private void handleReload(String targetLocation, List additionalLocations, Preferences pref, IProgressMonitor monitor) {
monitor.beginTask(PDECoreMessages.LoadTargetOperation_reloadTaskName, 85);
URL[] paths = getURLs(targetLocation, additionalLocations);
PDEState state = new PDEState(paths, true, new SubProgressMonitor(monitor, 45));
ExternalFeatureModelManager featureManager = getFeatureManager(targetLocation, additionalLocations);
IFeatureModel[] models = featureManager.getModels();
Map features = new HashMap();
for (int i = 0; i < models.length; i++)
features.put(models[i].getFeature().getId(), models[i]);
monitor.worked(5);
models = PDECore.getDefault().getFeatureModelManager().getWorkspaceModels();
for (int i = 0; i < models.length; i++)
features.put(models[i].getFeature().getId(), models[i]);
monitor.worked(5);
handlePluginSelection(state, features, pref, new SubProgressMonitor(monitor,25));
Job job = new TargetPlatformResetJob(state);
job.schedule();
monitor.done();
}