if (filteredList.isEmpty()) {
if (typeList.isEmpty()) {
	public int open() {		final ArrayList typeList= new ArrayList();		IRunnableWithProgress runnable= new IRunnableWithProgress() {			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {				try {					AllTypesCache.getTypes(fScope, fElementKinds, monitor, typeList);				} catch (JavaModelException e) {					throw new InvocationTargetException(e);				}				if (monitor.isCanceled()) {					throw new InterruptedException();				}			}		};				try {			fRunnableContext.run(true, true, runnable);		} catch (InvocationTargetException e) {			ExceptionHandler.handle(e, "Exception", "Unexpected exception. See log for details.");		} catch (InterruptedException e) {			// cancelled by user			return CANCEL;		}		// #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();	}