final IPackageFragmentRoot root= getPackageFragmentRoot(); if (root != null) { status.merge(checkPackageFragmentRoots(root, new SubProgressMonitor(monitor, 90, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL))); if (!status.hasFatalError()) { status.merge(super.aboutToPerformHistory(new SubProgressMonitor(monitor, 10, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL)));
status.merge(super.aboutToPerformHistory(new SubProgressMonitor(monitor, 10, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL))); if (!status.hasFatalError()) { final IPackageFragmentRoot root= getPackageFragmentRoot(); if (root != null) { status.merge(checkPackageFragmentRoots(root, new SubProgressMonitor(monitor, 90, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL)));
	protected RefactoringStatus aboutToPerformHistory(final IProgressMonitor monitor) {		final RefactoringStatus status= new RefactoringStatus();		try {			fJavaProject= null;			fSourceFolder= null;			fProcessedFragments.clear();			monitor.beginTask(JarImportMessages.JarImportWizard_prepare_import, 500);			final IPackageFragmentRoot root= getPackageFragmentRoot();			if (root != null) {				status.merge(checkPackageFragmentRoots(root, new SubProgressMonitor(monitor, 90, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL)));				if (!status.hasFatalError()) {					status.merge(super.aboutToPerformHistory(new SubProgressMonitor(monitor, 10, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL)));					if (!status.hasFatalError()) {						final IJavaProject project= root.getJavaProject();						if (project != null) {							final IFolder folder= project.getProject().getFolder(SOURCE_FOLDER + String.valueOf(System.currentTimeMillis()));							try {								fAutoBuild= CoreUtility.enableAutoBuild(false);								if (getRefactoringHistory() != null)									configureClasspath(project, root, folder, new SubProgressMonitor(monitor, 300, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL));							} catch (CoreException exception) {								status.merge(RefactoringStatus.createFatalErrorStatus(exception.getLocalizedMessage()));								try {									project.setRawClasspath(project.readRawClasspath(), false, new SubProgressMonitor(monitor, 100, SubProgressMonitor.SUPPRESS_SUBTASK_LABEL));								} catch (CoreException throwable) {									JavaPlugin.log(throwable);								}							} finally {								if (!status.hasFatalError()) {									fJavaProject= project;									fSourceFolder= folder;								}							}						}					}				}			}		} finally {			monitor.done();		}		return status;	}