boolean includeJRE= getSearchJRE();
boolean includeJRE= data.includesJRE();
	private boolean performNewSearch() {		SearchPatternData data= getPatternData();		// Setup search scope		IJavaSearchScope scope= null;		String scopeDescription= ""; //$NON-NLS-1$				boolean includeJRE= getSearchJRE();		JavaSearchScopeFactory factory= JavaSearchScopeFactory.getInstance();				switch (getContainer().getSelectedScope()) {			case ISearchPageContainer.WORKSPACE_SCOPE:				scopeDescription= includeJRE ? SearchMessages.WorkspaceScope : SearchMessages.WorkspaceScopeNoJRE; 				scope= factory.createWorkspaceScope(includeJRE);				break;			case ISearchPageContainer.SELECTION_SCOPE:				scopeDescription= includeJRE ? SearchMessages.SelectionScope : SearchMessages.SelectionScopeNoJRE;				scope= factory.createJavaSearchScope(getContainer().getSelection(), includeJRE);				break;			case ISearchPageContainer.SELECTED_PROJECTS_SCOPE: {				String[] projectNames= getContainer().getSelectedProjectNames();				scope= factory.createJavaProjectSearchScope(projectNames, includeJRE);				String label;				String projectName;				if (projectNames.length >= 1) {					projectName= projectNames[0];					if (projectNames.length == 1) {						label= includeJRE ? SearchMessages.EnclosingProjectScope : SearchMessages.EnclosingProjectScopeNoJRE;					} else {						label= includeJRE ? SearchMessages.EnclosingProjectsScope : SearchMessages.EnclosingProjectsScopeNoJRE;					}				} else {					projectName= ""; //$NON-NLS-1$					label= SearchMessages.EnclosingProjectScope;				}				scopeDescription= Messages.format(label, projectName);				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;				String label= includeJRE ? SearchMessages.WorkingSetScope : SearchMessages.WorkingSetScopeNoJRE;				scopeDescription= Messages.format(label, SearchUtil.toString(workingSets)); 				scope= factory.createJavaSearchScope(workingSets, includeJRE);				SearchUtil.updateLRUWorkingSets(workingSets);			}		}				QuerySpecification querySpec= null;		if (data.getJavaElement() != null && getPattern().equals(fInitialData.getPattern())) {			if (data.getLimitTo() == IJavaSearchConstants.REFERENCES)				SearchUtil.warnIfBinaryConstant(data.getJavaElement(), getShell());			querySpec= new ElementQuerySpecification(data.getJavaElement(), data.getLimitTo(), scope, scopeDescription);		} else {			querySpec= new PatternQuerySpecification(data.getPattern(), data.getSearchFor(), data.isCaseSensitive(), data.getLimitTo(), scope, scopeDescription);			data.setJavaElement(null);		} 				JavaSearchQuery textSearchJob= new JavaSearchQuery(querySpec);		NewSearchUI.runQueryInBackground(textSearchJob);		return true;	}