if (getFilter() == null) setFilter("A");
	public int open() {				final ArrayList typesFound= new ArrayList();		IRunnableWithProgress runnable= new IRunnableWithProgress() {			public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {				try {					AllTypesCache.getTypes(fScope, fElementKinds, monitor, typesFound);				} 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, JavaUIMessages.getString("MultiTypeSelectionDialog.error2Title"), JavaUIMessages.getString("MultiTypeSelectionDialog.error2Message")); //$NON-NLS-1$ //$NON-NLS-2$		} catch (InterruptedException e) {			// cancelled by user			return CANCEL;		}		// default filter is "A"		if (getFilter() == null)			setFilter("A"); //$NON-NLS-1$		setElements(typesFound.toArray());				return super.open();	}