return hierarchy.contains(member.getDeclaringType());
IType type= member.getDeclaringType(); if (type != null) return hierarchy.contains(type); return false;
	protected boolean canBeAccessedFrom(IMember member, IType target, ITypeHierarchy hierarchy) throws JavaModelException {		if (super.canBeAccessedFrom(member, target, hierarchy)) {			if (target.equals(member.getDeclaringType()))				return true;			if (target.equals(member))				return true;			if (member instanceof IMethod) {				final IMethod method= (IMethod) member;				final IMethod stub= target.getMethod(method.getElementName(), method.getParameterTypes());				if (stub.exists())					return true;			}			if (member.getDeclaringType() == null) {				if (!(member instanceof IType))					return false;				if (JdtFlags.isPublic(member))					return true;				if (!JdtFlags.isPackageVisible(member))					return false;				if (JavaModelUtil.isSamePackage(((IType) member).getPackageFragment(), target.getPackageFragment()))					return true;				return hierarchy.contains(member.getDeclaringType());			}			final IType declaringType= member.getDeclaringType();			if (!canBeAccessedFrom(declaringType, target, hierarchy))				return false;			if (declaringType.equals(getDeclaringType()))				return false;			return true;		}		return false;	}