boolean (final JvmClass cls, final ProtoMember clsMember, final JvmClass scope) { if (clsMember.isPrivate()) { return Objects.equals(cls.getReferenceID(), scope.getReferenceID()); } if (clsMember.isPackageLocal()) { return Objects.equals(cls.getPackageName(), scope.getPackageName()); } if (clsMember.isProtected()) { return Objects.equals(cls.getPackageName(), scope.getPackageName()) || isInheritorOf(scope, cls); } return true; }