if (cpEntries.isEmpty() && fClassFiles.isEmpty()) { return;
fMonitor= monitor; fProject.accept(this, IResource.NONE); monitor.worked(1);  ArrayList cpEntries= new ArrayList();  detectSourceFolders(cpEntries); if (monitor.isCanceled()) { throw new OperationCanceledException(); } monitor.worked(1);   IPath outputLocation= detectOutputFolder(cpEntries); if (monitor.isCanceled()) { throw new OperationCanceledException(); } monitor.worked(1);  detectLibraries(cpEntries, outputLocation); if (monitor.isCanceled()) { throw new OperationCanceledException(); } monitor.worked(1);  if (cpEntries.isEmpty() && fClassFiles.isEmpty()) { return; } IClasspathEntry[] jreEntries= PreferenceConstants.getDefaultJRELibrary(); for (int i= 0; i < jreEntries.length; i++) { cpEntries.add(jreEntries[i]); }  IClasspathEntry[] entries= (IClasspathEntry[]) cpEntries.toArray(new IClasspathEntry[cpEntries.size()]); if (!JavaConventions.validateClasspath(JavaCore.create(fProject), entries, outputLocation).isOK()) { return; }  fResultClasspath= entries; fResultOutputFolder= outputLocation; } finally { monitor.done();
	private void detectClasspath() {		ArrayList cpEntries= new ArrayList();				detectSourceFolders(cpEntries);		IPath outputLocation= detectOutputFolder(cpEntries);				detectLibraries(cpEntries, outputLocation);					if (cpEntries.isEmpty() && fClassFiles.isEmpty()) {			return;		}		IClasspathEntry[] jreEntries= PreferenceConstants.getDefaultJRELibrary();		for (int i= 0; i < jreEntries.length; i++) {			cpEntries.add(jreEntries[i]);		}				IClasspathEntry[] entries= (IClasspathEntry[]) cpEntries.toArray(new IClasspathEntry[cpEntries.size()]);		if (!JavaConventions.validateClasspath(JavaCore.create(fProject), entries, outputLocation).isOK()) {			return;		}					fResultClasspath= entries;		fResultOutputFolder= outputLocation;	}