code: public boolean select(Viewer viewer, Object parentElement, Object element) {
  		
  		if(hasFilter(FILTER_FIELDS) && isField(element) )
  		{
  			return false;
  		}
  		
  		if(hasFilter(FILTER_NONPUBLIC) && isNonPublic(element)){
  			return false;
  		}
  		
  		if(hasFilter(FILTER_LOCALTYPES) && isLocalType(element)){
  			return false;
  		}
  		
  		if(hasFilter(FILTER_STATIC) && isStatic(element)){
  			return false;
  		}
  		
  //		try {
  //			if (element instanceof IMember) {
  //				
  //
  //				if (hasFilter(FILTER_FIELDS) && memberType == IJavaElement.FIELD) {
  //					return false;
  //				}
  //
  //				if (hasFilter(FILTER_LOCALTYPES) && memberType == IJavaElement.TYPE && isLocalType((IType) member)) {
  //					return false;
  //				}
  //
  //				if (member.getElementName().startsWith("<")) { // filter out <clinit> //$NON-NLS-1$
  //					return false;
  //				}
  //				int flags= member.getFlags();
  //				if (hasFilter(FILTER_STATIC) && (Flags.isStatic(flags) || isFieldInInterfaceOrAnnotation(member)) && memberType != IJavaElement.TYPE) {
  //					return false;
  //				}
  //				if (hasFilter(FILTER_NONPUBLIC) && !Flags.isPublic(flags) && !isMemberInInterfaceOrAnnotation(member) && !isTopLevelType(member) && !isEnumConstant(member)) {
  //					return false;
  //				}
  //			}
  //		} catch (JavaModelException e) {
  //			// ignore
  //		}
  		return true;
  	}
docs: /*
  @see ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)