private Collection doSearchTypes(IJavaSearchScope scope, int style) throws JavaModelException {
private Collection doSearchTypes() throws JavaModelException {
		private Collection doSearchTypes(IJavaSearchScope scope, int style) throws JavaModelException {			final ArrayList typesFound= new ArrayList(fSizeHint);			final TypeInfoFactory factory= new TypeInfoFactory();			class RequestorAbort extends Error { }					ITypeNameRequestor requestor= new ITypeNameRequestor() {				public void acceptInterface(char[] packageName, char[] typeName, char[][] enclosingTypeNames,String path) {					if (fReset)						throw new RequestorAbort();					typesFound.add(factory.create(packageName, typeName, enclosingTypeNames, true, path));				}				public void acceptClass(char[] packageName, char[] typeName, char[][] enclosingTypeNames, String path) {					if (fReset)						throw new RequestorAbort();					typesFound.add(factory.create(packageName, typeName, enclosingTypeNames, false, path));				}			};			if (fMonitor == null)				fMonitor= new NullProgressMonitor();			try {				new SearchEngine().searchAllTypeNames(ResourcesPlugin.getWorkspace(),					null,					null,					IJavaSearchConstants.PATTERN_MATCH,					IJavaSearchConstants.CASE_INSENSITIVE,					style,					scope,					requestor,					IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH,					fMonitor);			} catch (RequestorAbort e) {				if (DEBUG) System.err.println("  **** query cancelled"); //$NON-NLS-1$				return null;			}			return typesFound;		}