List typeList= engine.searchTypes(fRunnableContext, fScope, fStyle);
try { fRunnableContext.run(true, true, runnable); } catch (InvocationTargetException e) { ExceptionHandler.handle(e, "Exception", "Unexpected exception. See log for details."); } catch (InterruptedException e) {  return CANCEL; }
	public int open() {		AllTypesSearchEngine engine= new AllTypesSearchEngine(JavaPlugin.getWorkspace());				List typeList= engine.searchTypes(fRunnableContext, fScope, fStyle);		// #6385 workaround: filter out anonymous (!) classes		List filteredList= new ArrayList(typeList.size());		for (Iterator iterator = typeList.iterator(); iterator.hasNext();) {            TypeInfo info = (TypeInfo) iterator.next();            if (info.getTypeName().length() != 0)	            filteredList.add(info);        }				if (filteredList.isEmpty()) {			String title= JavaUIMessages.getString("TypeSelectionDialog.notypes.title"); //$NON-NLS-1$			String message= JavaUIMessages.getString("TypeSelectionDialog.notypes.message"); //$NON-NLS-1$			MessageDialog.openInformation(getShell(), title, message);			return CANCEL;		}					TypeInfo[] typeRefs= (TypeInfo[])filteredList.toArray(new TypeInfo[filteredList.size()]);		setElements(typeRefs);		return super.open();	}