private static boolean hasLowerVisibility(final List modifiers, final ModifierKeyword threshold) { Assert.isNotNull(modifiers); Assert.isTrue(threshold == null || isVisibilityKeyword(threshold)); Modifier modifier= null; IExtendedModifier extended= null; for (final Iterator iterator= modifiers.iterator(); iterator.hasNext();) { extended= (IExtendedModifier) iterator.next(); if (extended.isModifier()) { modifier= (Modifier) extended; if (isVisibilityKeyword(modifier.getKeyword())) return hasLowerVisibility(modifier.getKeyword(), threshold); } } return hasLowerVisibility((ModifierKeyword) null, threshold);
public static boolean hasLowerVisibility(final int modifier, final int threshold) { if (Modifier.isPrivate(threshold)) return false; else if (Modifier.isPublic(threshold)) return !Modifier.isPublic(modifier); else if (Modifier.isProtected(threshold)) return !Modifier.isProtected(threshold) && !Modifier.isPublic(threshold); else return Modifier.isPrivate(modifier);
	private static boolean hasLowerVisibility(final List modifiers, final ModifierKeyword threshold) {		Assert.isNotNull(modifiers);		Assert.isTrue(threshold == null || isVisibilityKeyword(threshold));		Modifier modifier= null;		IExtendedModifier extended= null;		for (final Iterator iterator= modifiers.iterator(); iterator.hasNext();) {			extended= (IExtendedModifier) iterator.next();			if (extended.isModifier()) {				modifier= (Modifier) extended;				if (isVisibilityKeyword(modifier.getKeyword()))					return hasLowerVisibility(modifier.getKeyword(), threshold);			}		}		return hasLowerVisibility((ModifierKeyword) null, threshold);	}