ViewerFilter filter= new TypedViewerFilter(acceptedClasses, rejectedElements);
ViewerFilter filter= new TypedViewerFilter(acceptedClasses, rejectedElements.toArray());
	private IContainer chooseContainer() {		Class[] acceptedClasses= new Class[] { IProject.class, IFolder.class };		ISelectionValidator validator= new TypedElementSelectionValidator(acceptedClasses, false);		IProject[] allProjects= fWorkspaceRoot.getProjects();		ArrayList rejectedElements= new ArrayList(allProjects.length);		for (int i= 0; i < allProjects.length; i++) {			if (!allProjects[i].equals(fCurrProject)) {				rejectedElements.add(allProjects[i]);			}		}		ViewerFilter filter= new TypedViewerFilter(acceptedClasses, rejectedElements);		ILabelProvider lp= new WorkbenchLabelProvider();		ITreeContentProvider cp= new WorkbenchContentProvider();				ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(getShell(), NewWizardMessages.getString("BuildPathsBlock.ChooseOutputFolderDialog.title"), null, lp, cp); //$NON-NLS-1$		dialog.setValidator(validator);		dialog.setMessage(NewWizardMessages.getString("BuildPathsBlock.ChooseOutputFolderDialog.description")); //$NON-NLS-1$		dialog.addFilter(filter);				IResource initSelection= null;		if (fOutputLocationPath != null) {			initSelection= fWorkspaceRoot.findMember(fOutputLocationPath);		}				if (dialog.open(fWorkspaceRoot, initSelection) == dialog.OK) {			return (IContainer)dialog.getSelectedElement();		}		return null;	}