else {
stringPattern= ((ElementQuerySpecification)fPatternData).getElement().getElementName(); } else {
	public IStatus run(IProgressMonitor monitor) {		final JavaSearchResult textResult= (JavaSearchResult) getSearchResult();		textResult.removeAll();		// Also search working copies		SearchEngine engine= new SearchEngine(JavaUI.getSharedWorkingCopiesOnClasspath());		try {			int totalTicks= 1000;			for (int i= 0; i < fParticipants.length; i++) {				totalTicks+= fParticipants[i].estimateTicks(fPatternData);			}			monitor.beginTask("Searching", totalTicks);			IProgressMonitor mainSearchPM= new SubProgressMonitor(monitor, 1000);			boolean ignoreImports= (fPatternData.getLimitTo() == IJavaSearchConstants.REFERENCES);			ignoreImports &= PreferenceConstants.getPreferenceStore().getBoolean(WorkInProgressPreferencePage.PREF_SEARCH_IGNORE_IMPORTS);			NewSearchResultCollector collector= new NewSearchResultCollector(textResult, mainSearchPM, ignoreImports);						ISearchPattern pattern;			if (fPatternData instanceof ElementQuerySpecification)				pattern= SearchEngine.createSearchPattern(((ElementQuerySpecification)fPatternData).getElement(), fPatternData.getLimitTo());			else {				PatternQuerySpecification patternSpec= (PatternQuerySpecification)fPatternData;				pattern= SearchEngine.createSearchPattern(patternSpec.getPattern(), patternSpec.getSearchFor(), patternSpec.getLimitTo(), patternSpec.isCaseSensitive());			}						engine.search(JavaPlugin.getWorkspace(), pattern, fPatternData.getScope(), collector);			for (int i= 0; i < fParticipants.length; i++) {				ISearchRequestor requestor= new SearchRequestor(fParticipants[i], textResult);				IProgressMonitor participantPM= new SubProgressMonitor(monitor, fParticipants[i].estimateTicks(fPatternData));				fParticipants[i].search(requestor, fPatternData, participantPM);			}					} catch (CoreException e) {			return e.getStatus();		}		return new Status(IStatus.OK, JavaPlugin.getPluginId(), 0, "", null); //$NON-NLS-1$	}