Bug 77586 Build Path inclusion filters: filter language must be explained
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/wizards/buildpaths/TypeRestrictionEntryDialog.java
IPath[] res= chooseExclusionPattern(getShell(), fCurrSourceFolder, title, message, initialPath, false);
		if (res == null) {
			return null;
		}
		return res[0];
	}
	
	public static IPath[] chooseExclusionPattern(Shell shell, IContainer currentSourceFolder, String title, String message, IPath initialPath, boolean multiSelection) {
		Class[] acceptedClasses= new Class[] { IFolder.class, IFile.class };
		ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, multiSelection);
		ViewerFilter filter= new TypedViewerFilter(acceptedClasses);
		
		ILabelProvider lp= new WorkbenchLabelProvider();
		ITreeContentProvider cp= new WorkbenchContentProvider();
		
		IResource initialElement= null;
		if (initialPath != null) {
			IContainer curr= currentSourceFolder;
			int nSegments= initialPath.segmentCount();
			for (int i= 0; i < nSegments; i++) {
				IResource elem= curr.findMember(initialPath.segment(i));
				if (elem != null) {
					initialElement= elem;
				}
				if (elem instanceof IContainer) {
					curr= (IContainer) elem;
				} else {
					break;
				}
			}