public boolean isVisibleIn(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;
  }
public boolean isVisibleIn(final JvmClass cls, final ProtoMember clsMember, final JvmClass scope)