if (hasFilter(FILTER_NONPUBLIC) && !Flags.isPublic(flags) && !isMemberInInterface(member) && !isTopLevelType(member)) {
if (hasFilter(FILTER_NONPUBLIC) && !Flags.isPublic(flags) && !isMemberInInterfaceOrAnnotation(member) && !isTopLevelType(member)) {
	public boolean select(Viewer viewer, Object parentElement, Object element) {		try {			if (element instanceof IMember) {				IMember member= (IMember) element;				int memberType= member.getElementType();								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) || isFieldInInterface(member)) && memberType != IJavaElement.TYPE) {					return false;				}				if (hasFilter(FILTER_NONPUBLIC) && !Flags.isPublic(flags) && !isMemberInInterface(member) && !isTopLevelType(member)) {					return false;				}			}					} catch (JavaModelException e) {			// ignore		}		return true;	}