scopeDescription= NLSSearchMessages.getString("EnclosingProjectScope");
scopeDescription= NLSSearchMessages.getFormattedString("EnclosingProjectScope", projects[0].getName());
	public boolean performAction() {		SearchUI.activateSearchResultView();		SearchPatternData data= getPatternData();		if (data.wrapperClass == null || data.propertyFile == null)			return false;		IWorkspace workspace= JavaPlugin.getWorkspace();		// Setup search scope		IJavaSearchScope scope= null;		String scopeDescription= ""; //$NON-NLS-1$		switch (getContainer().getSelectedScope()) {			case ISearchPageContainer.WORKSPACE_SCOPE :				scopeDescription= NLSSearchMessages.getString("WorkspaceScope"); //$NON-NLS-1$				scope= SearchEngine.createWorkspaceScope();				break;			case ISearchPageContainer.SELECTION_SCOPE :				scopeDescription= NLSSearchMessages.getString("SelectionScope"); //$NON-NLS-1$				scope= JavaSearchScopeFactory.getInstance().createJavaSearchScope(getSelection());				break;			case ISearchPageContainer.SELECTED_PROJECTS_SCOPE :				scope= JavaSearchScopeFactory.getInstance().createJavaProjectSearchScope(getSelection());				if (JavaSearchScopeFactory.getInstance().getEnclosingProjectsCount(scope) > 1)					scopeDescription= NLSSearchMessages.getString("EnclosingProjectsScope"); //$NON-NLS-1$				else					scopeDescription= NLSSearchMessages.getString("EnclosingProjectScope"); //$NON-NLS-1$				break;			case ISearchPageContainer.WORKING_SET_SCOPE :				IWorkingSet[] workingSets= getContainer().getSelectedWorkingSets();				// should not happen - just to be sure				if (workingSets == null || workingSets.length < 1)					return false;				scopeDescription= NLSSearchMessages.getFormattedString("WorkingSetScope", new String[] { SearchUtil.toString(workingSets)}); //$NON-NLS-1$				scope= JavaSearchScopeFactory.getInstance().createJavaSearchScope(getContainer().getSelectedWorkingSets());				SearchUtil.updateLRUWorkingSets(getContainer().getSelectedWorkingSets());		}		NLSSearchResultCollector collector= new NLSSearchResultCollector(data.propertyFile);		NLSSearchOperation op= new NLSSearchOperation(workspace, data.wrapperClass, REFERENCES, scope, scopeDescription, collector);		Shell shell= getControl().getShell();		try {			getContainer().getRunnableContext().run(true, true, op);		} catch (InvocationTargetException ex) {			ExceptionHandler.handle(ex, shell, NLSSearchMessages.getString("Search.Error.search.title"), NLSSearchMessages.getString("Search.Error.search.message")); //$NON-NLS-2$ //$NON-NLS-1$			return false;		} catch (InterruptedException ex) {			return false;		}		return true;	}